摘要:
一、预备知识 1,集线器(hub) 它属于纯硬件网络底层设备,工作于OSI参考模型的第一层,即物理层。不解析。 集线器只对信号进行整形、放大后再重发,不进行编码,转发的时候是以广播的方式进行的,即它要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点。 2,交 阅读全文
摘要:
1、队列的顺序存储结构实现 2、循环队列的顺序存储结构实现 3、队列的链式存储结构实现 4、基于LinkedList实现队列结构 转载:https://www.cnblogs.com/CherishFX/p/4608880.html 阅读全文
摘要:
转载:https://www.cnblogs.com/CherishFX/p/4608880.html 1、基于数组实现栈 2、基于链表实现栈 3、基于java.util.LinkedList实现 阅读全文
摘要:
这里拿了用数组构造栈的一段代码说明一下 1)new StackArray()即无参的实例化过程: 找到无参构造器 > 初始化成员变量(引用类型初始化为null,int初始化为0) > this(10)调用有参构造器 > 来到有参构造器并初始化赋值形参(initialSize=10)> 成员变量赋值( 阅读全文
摘要:
查找 (Searching ) 就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 平均查找长度(Average Search Length,ASL):需和指定key进行比较的关键字的个数的期望值,称为查找算法在查找成功时的平均查找长度。 对于含有n个数据元素的查找表, 阅读全文
摘要:
命令 getconf PAGESIZE 结果为4096,即一页=4096字节=4KB(注意是Byte,1B=8bit) 在使用mmap映射函数时,它的实际映射单位也是以页为单位的,即不过我们把MAP_SIZE设为多大(只要小于一页),就会映射一页。当然如果我们设置的大于一页小于两页就会映射两页。 阅读全文
摘要:
前面讲的是比较排序算法,主要有冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 非比较排序算法:计数排序,基数排序,桶排序。在一定条件下,它们的时间复杂度可以达到O(n)。 一,计数排序(Counting Sort) (1)算法简介 计数排序(Counting sort)是一种稳定的排序 阅读全文
摘要:
快速排序算法最早由图灵奖获得者 Tony Hoare 设计出来的 ,被列为 20 世纪十大算法之一。在C++ STL 、Java SDK等开发工具包的源码中都能找到它的某种实现版本。 希尔排序相当于直接插入排序的升级,它们同属于插入排序类,堆排序相当于简单选择排序的升级,它们同属于选择排序类。而快速 阅读全文
摘要:
前面我们讲了堆排序,因为它用到了完全二叉树所以效率 比较高。不过堆结构的设计本身是比较复杂的,老实说,能想出这样的结构就挺不容易 , 有没有更直接简单的办法利用完全二叉树来排序呢?当然有。 为了更清晰地说清楚这里的思想,大家来看图 9-8-1 所示,我们将本是无序的数组序列 {16,7,13,10, 阅读全文
摘要:
1,什么是堆 堆是具有下列性质的完全二叉树: 每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆 (例如图 9-2 左图所示) ; 或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆(例如图 9-2 右图所示)。 2,为什么出现堆排序 前面介绍的(简单)选择排序,需要每次从未排序序列中选 阅读全文