随笔分类 - 数据结构
摘要:循环队列常见问题 : rear 队尾 front 对头 maxSize 循环队列的最大长度 1. 队列为空 :rear == front 2. 队列为满 :(rear + 1)% maxSize == front 3. 队列长度 :(rear - front + maxSize)% maxSize
阅读全文
摘要:优先队列 主要用于:1.插入 2.删除最大元素 基于实现这两项功能,用二叉堆来实现, 分析: ____________MaxPQ<Key>implementsIterator<Key>_______________________ insert() delMax() 优先队列的2个主要功能 isEm
阅读全文
摘要:递归 : 设计出可行且正确的解。 动态规划 :消除重复计算,提高效率。
阅读全文
摘要:数组: 1.数组指针:就是是一个指针变量(当指向一个一唯数组时,它仅占一个指针的储存空间) 2. 指针数组:多指针变量,以数组形式储存在内存中,占有多指针的储存空间。
阅读全文
摘要:链表:(线性表)物理储存非连续,非顺序的储存结构,插入删除元素方便,离散储存。 1.双向链表比单项链表更灵活,但空间消耗更大。可以直接删除当前指针所指向的节点,不需要向单向链表要找到其前驱。 二者在插入时复杂度相同,删除时双向链表更优越。
阅读全文
摘要:哈希表: 1.平均来讲获取指定值最快。 二叉树 :O(logn) 栈和队列 :O(n) (就是挨个的找出来) 哈希表 :O(1) (直接通过关键码来查找元素)
阅读全文
摘要:栈:先进后出(多型数据类型就是包含的元素类型并不确定,比如栈:整数栈,字符栈,对象栈等。但字符串它的元素就必须时是字符串) 1.链栈:采用链表方式实现的栈 入栈时使用malloc申请空间后,用指针相连接,所以节点个数没有限制。但出栈时,如果栈中元素个数为零,则不能继续出栈,需要判断栈空,但不用判断栈
阅读全文
摘要:Make it work 递归 Make it right 递归 Make it fast 迭代 所谓的动态规划:就是用递归初步给出,让后用迭代等价的替换。 fib(n) = fib(n - 1) + fib(n -2) +...........+ ........ : 递归 T(n) = T(n
阅读全文
摘要:一般规律: 级数 1.算数级数:与末平方同阶。 T(n) = 1 + 2 + 3 + ....... + n = n(n + 1) / 2 = O(n * n) 2.幂方级别:比幂方高出一阶。T(n) = 1 * 1 + ......... + n * n = n(n + 1)(2n + 1) /
阅读全文

浙公网安备 33010602011771号