1 du_lijun

尚未进行身份认证

暂无相关简介

等级
TA的排名 14w+

C++:判断大小端

目录一、定义:二、实现1、方法12、方法2一、定义:小端:较高的有效字节存放在较高的的存储器地址,较低的有效字节存放在较低的存储器地址。大端:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。将0x12345678写入到以1000h开始的内存中,这里0x12346578中0x12~0x78的地址是从高到低如果,我们的机器是小端存储...

2019-09-13 18:27:55

哈希相关

一、哈希Hash :散列,通过关于键值(key)的函数,将数据映射到内存存储中一个位置来访问。这个过程叫做Hash,这个映射函数称做散列函数,存放记录的数组称做散列表(Hash Table),又叫哈希表。优点:先分类再查找,通过计算缩小范围,加快查找速度。hash时间复杂度最差才为O(n),最优情况下只需要O(1)(访问没有哈希冲突的元素)1.构造方法:1.直接定址法:取Key或者Ke...

2019-09-07 17:26:43

树的最近公共祖先问题

一、树的最近公共祖先问题(一个节点也可以是它自己的祖先)1.普通二叉树从根节点开始遍历,如果node1和node2中的任一个和root匹配,那么root就是最低公共祖先。 如果都不匹配,则分别递归左、右子树,如果有一个节点出现在左子树,并且另一个节点出现在右子树,则root就是最低公共祖先. 如果两个节点都出现在左子树,则说明最低公共祖先在左子树中,否则在右子树。TreeNo...

2019-09-07 10:02:57

算法(四):二叉树操作

一、二叉树常见操作二叉树的定义typedef char ElemType;typedef struct BtNode{ BtNode *leftchild; //左子树 BtNode *rightchild; //右子树 ElemType data; //数据}BtNode,*BinaryTree;2.二叉树的创建(两种办法)递归创建创建 一颗二叉树 (树的数据直接...

2019-09-03 23:16:41

先中、后中确定一棵树

1. 先序和中序确定一棵树BtNode * CreateTreePI(ElemType *ps,ElemType *is,int n){ if(NULL == ps || NULL == is || n < 1) { return NULL; } else { return CreatePI(ps,is,n); }}BtNode * CreatePI (Ele...

2019-09-07 01:20:49

二叉树的先序、中序、后序遍历(递归、非递归实现)

一、二叉树遍历问题(递归、非递归)1. 二叉树的先序遍历- 先序1:二叉树递归先序遍历:void PreOrderTree1(BtNode *T){ if(T != NULL) { cout<< T->data<<" "; PreOrderTree1(T->left); PreOrderTree1(T->right); }...

2019-09-07 01:14:59

TOP K 问题

一、Top K问题(可以采取的方法有哪些,各自优点?)1、直接全部排序(只适用于内存够的情况)当数据量较小的情况下,内存中可以容纳所有数据。则最简单也是最容易想到的方法是将数据全部排序,然后取排序后的数据中的前K个。这种方法对数据量比较敏感,当数据量较大的情况下,内存不能完全容纳全部数据,这种方法便不适应了。即使内存能够满足要求,该方法将全部数据都排序了,而题目只要求找出top K个数据,...

2019-09-07 00:36:25

设计循环队列

1.假溢出现象:实际个数变量size;循环队列2.(队列空间大小为m时,有m-1个元素就认为是队满。这样当头尾指针的值相同时,则认为对空;当尾指针在循环意义上加1后是等于头指针,则认为队满)当添加一个元素时,(queue.rear + 1) % maxSize;当删除一个元素时,(queue.front + 1) % maxSize;***********************...

2019-09-06 00:46:20

链表是否有环、环的入口、环长度

目录一、链表结构二、判断一个链表是否带环1.方法一:快慢指针2.方法二:使用STL库中的map表进行映射三、求环的长度四、找环的入口节点一、链表结构struct ListNode{ int val; ListNode* next;};二、判断一个链表是否带环1.方法一:快慢指针定义一个快指针和慢指针都指向链表的head,快指针一次走两步,慢...

2019-09-05 17:50:46

算法(六):BST树

一、BST树概念二、BST树非递归查询三、BST树递归查询四、中序非递归遍历(不使用栈、队列)五、插入操作六、删除操作

2019-09-03 23:16:45

算法(五):二叉树存储操作

一、二叉树数组存放中序遍历void ArOrder(ElemType *ar,int i, int n) //数组存放中序遍历{ if(i < n && ar[i] != END) { ArOrder(ar,i*2+1,n); cout<<ar[i]<<" "; ArOrder(ar,i*2+2,n); }}void Ar...

2019-09-03 23:16:45

算法(三) :归并排序、树概念

一、归并排序在这里插入代码片

2019-09-03 23:16:26

算法(二):快排、一次划分问题、最近点对、TOP K

一、快排的一次划分#include <iostream>#include <stack>#include <queue>using namespace std;template<class Type>int Partition(Type *arr,int left,int right) //快排的一次划分,返回下标i,以i将数据分为...

2019-09-03 23:16:26

算法(一):阶乘、斐波那契、子集树、排列树

一、在c、linux下用指令规定栈的大小对于 x86 和 x64 计算机,默认堆栈大小为 1 MB。在 Itanium 芯片组上,默认大小为 4 MB。linux下默认的堆栈空间大小是8M或10M,不同的发行版本可能不太一样。可以使用ulimit指令查看栈空间大小,指令ulimit -s或者ulimit -a如下图:对于 x86 和 x64 计算机,默认堆栈大小为 1 MB。在 Itanium ...

2019-09-03 23:16:22

OSI七层模型,以及分层目的

分层目的:多层之间相互独立,灵活性好;结构上可分割开来,易于实现和维护;促进标准化工作OSI即开放式系统互联。 OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。每一层实现各自的功能和协议,并完成与相邻层的接口通信。OSI的服务定义详细说明了各层所提供的服务。某一层的服务就是该层及其下各层的一种能力,它通过接提供给更高一...

2019-08-19 15:50:21

长连接、短连接理解

1)一般情况下,Client成功连接到Server后,会发送1个或几个请求,收到Server端1个或几个应答;然后!就会非常识趣地马上调用close()关闭连接了。这就叫短连接。2)某些情况下,如果Client有很多数据要传给Server或者从Server获取,就不甘心于只是发送几个请求,在相当长(几秒,几分钟,甚至几个小时)的时间内,都不会调用close()关闭连接(我们称:Client端h...

2019-08-19 11:56:08

内存池,进程池,和线程池

池的概念由于服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是以空间换时间,即“浪费”服务器的硬件资源,以换取其运行效率。这就是池的概念。池是一组资源的集合,这组资源在服务器启动之初就完全被创建并初始化,这称为静态资源分配。当服务器进入正式运行阶段,即开始处理客户请求的时候,如果它需要相关的资源,就可以直接从池中获取,无需动态分配。很显然,直接从池中取得所需资源比动态分配资源的...

2019-08-19 10:02:34

力扣(字符串):942、344、557、806、1047

一、942思路:我们首先考虑字符串中的第一个字母。如果 S[0] == 'I',那么我们只要令 A[0] = 0,就一定能满足 A[0] < A[1]。如果 S[0]== 'D',同样我们只要令 A[0] = N,就一定能满足 A[0] > A[1]。接下来,当我们考虑 S 中剩下的 N - 1 个字母时,还剩下 N 个数可以使用,这 N 个数为 [0 .. N ...

2019-08-13 20:02:15

网易:[编程题]丰收

1.[编程题]丰收时间限制:1秒空间限制:262144K又到了丰收的季节,恰逢小易去牛牛的果园里游玩。牛牛常说他对整个果园的每个地方都了如指掌,小易不太相信,所以他想考考牛牛。在果园里有N堆苹果,每堆苹果的数量为ai,小易希望知道从左往右数第x个苹果是属于哪一堆的。牛牛觉得这个问题太简单,所以希望你来替他回答。输入描述:第一行一个数n(1 <= n <= 1...

2019-08-13 20:00:04

Linux:TCP编程流程(非原创、整理)

对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?目录一、什么是TCP/IP、UDP?1.Socket在哪里呢?2.Socket是什...

2019-07-30 17:38:57

查看更多

勋章 我的勋章
  • 新人勋章
    新人勋章
    用户发布第一条Blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。