摘要:
图论应用 阅读全文
摘要:
- - -# 1 单词查找树:Trie树如果一个关键字可以成字符串的形式,那么可以用键树(Keyword tree),又称数字搜索树(Digital Search Tree)。键树的存储通常有两种方式:* 树的左孩子-右兄弟链表表示,每个Node有三个域(当前字符,左孩子的根,右兄弟的链表),称为双... 阅读全文
摘要:
- - -# 1 基础查找符号表是一种典型的ADT,它提供了操作键值对的方法: put(插入、insert)、search、delete操作,这一节将会给出两种初级的符号表: 无序链表中的顺序查找、基于有序数组二分查找的有序符号表。在某些实现中我们认为保持键的有序性并大大扩展它的API是很有用。例如... 阅读全文
摘要:
---# 插入排序## 1.1 直接插入排序直接插入排序的特点: * 时空效率: 时间复杂度为O(n^2),空间复杂度为O(1)。最好情况下是元素基本有序,此时每插入一个元素,只需比较几次而无需移动,时间复杂度为O(n)* 稳定性: 保证相等元素的插入相对位置不会变化,稳定排序```Cvoid in... 阅读全文
摘要:
1 动态数组它的基本思路是使用如malloc/free等内存分配函数得到一个指向一大块内存的指针,以数组的方式引用这块内存或者直接调用动态数组的接口,根据其内部的实现机制自行扩充空间,动态增长并能快速地清空数组,对数据进行排序和遍历。(在 "理解C语言(一)" 中介绍了动态数组,这里不再赘述)它... 阅读全文