摘要: 读书笔记 本小节介绍了利用数组实现指针的过程。 利用二维数组 其中一列代表一个节点,一列分为上中下三个部分,上代表后继节点的坐标,中代表当前节点的值,下代表前驱节点的坐标; 利用单数组 其中一个节点由连续的数组元素组成,图中4代表该节点的值,7代表后继节点的坐标,13代表前驱节点的坐标; 这种单数组 阅读全文
posted @ 2021-01-15 11:26 ijkzen 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 本小节介绍了链表,链表由一个个节点连接而成,单个节点的组成如下: public class Node { public Node previous; public Object key; public Node next; } 由上述节点组成的链表称为双向链表;也有节点只有一个前驱节点或者 阅读全文
posted @ 2021-01-15 11:24 ijkzen 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 本小节介绍了栈和队列,其实总结起来就两句话: 栈:先入后出 队列:先入先出 但是在介绍队列的时候,讲到了一种如同衔尾蛇一样的定长队列,和apache的CircularFifoQueue实现是一致的。 课后习题 10.1-1 仿照图$10-1$,画图表示一次执行操作$PUSH(S,4)$、\ 阅读全文
posted @ 2021-01-15 11:21 ijkzen 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 本小节介绍了一种上界为$O(n)$的选择算法,该算法过程如下: 先对将输入数组以每组5个元素分组,可能会剩余一组不足5个元素的小组。 对每个小组进行插入排序。 对每个小组的中位数,进行递归操作,也就是重复第1,2步骤,直至找到整个数组的中位数$x$。 使用在第三步找出的中位数$x$对数组进 阅读全文
posted @ 2021-01-15 11:19 ijkzen 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 本小节介绍一种选择算法,用来选择数组中第$i$小的元素; $RANDOMIZED-SELECT$以快速排序为模型,时间复杂度为$\theta(n)$。 伪代码如下: RANDOMIZED-SELECT(A, p, r, i) if p == r return A[p] q = RANDOM 阅读全文
posted @ 2021-01-15 11:09 ijkzen 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 本小节介绍了两点: 如何找到数组中的最大值和最小值? 如何同时找到数组中的最大值和最小值? 找到最小值 最小值和最大值的方法是一致,从数组中取出一个值,然后和其他的$n-1$个值相比较,不断更新最大值/最小值,经过$n-1$次比较,可以获得最大值/最小值。 同时找到最大值和最小值 如果没有 阅读全文
posted @ 2021-01-15 11:05 ijkzen 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 本小节介绍了桶排序,桶排序是将元素按照规则放在一个个递增区间内,区间之间是递增的,区间内部也是递增的,最后依次合并区间得到次序; 具体过程如下: 伪代码如下: BUCKET-SORT(A) n = A.length let B[0..n-1] be a new array for i = 阅读全文
posted @ 2021-01-15 10:59 ijkzen 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 本小节讲的是基数排序,与比较排序不同,基数排序并不是直接比较元素间的大小获得次序,而是从低位到高位依次排序,最终获得次序; 具体过程如下: 伪代码如下: RADIX-SORT(A, d) for i = 1 to d use a stable sort to sort array A on 阅读全文
posted @ 2021-01-15 10:54 ijkzen 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 本小节介绍了计数排序,计数排序的基本思想是: 对每个输入元素$x$,确定小于$x$的元素个数。利用这一信息,就可以直接把$x$放到它在的输出数组中的位置上了。 所以这里的重点是如何确定小于$x$的元素个数,这里引入了一个数组$C$,$C$的长度为$k$,$k$的值要大于等于输入数组中的最大 阅读全文
posted @ 2021-01-15 10:52 ijkzen 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 本小节通过决策树模型,说明了一个比较排序算法的下界为$\Omega(n\lg)$; 课后习题 8.1-1 在一棵比较排序算法的决策树中,一个叶节点可能的最小深度是多少? 最好情况就是当前数组是已经排好序的,需要比较$n-1$次;深度为$n$ 8.1-2 不用斯特林公式,给出$\lg{(n! 阅读全文
posted @ 2021-01-15 10:49 ijkzen 阅读(245) 评论(0) 推荐(0) 编辑