摘要: 1, 树,平时最常用的树就是二叉树(其实也有多叉树),二叉树可以用链表和数组来存储。 2,二叉树,最多只有两个子节点,满二叉树是指叶子节点都在最底层,其余所有节点都有左右2个子节点,他是一种特殊的完全二叉树。 3. 完全二叉树,是指叶子节点都在最底2层,最后一层叶子节点靠左边排列,并且除了最后一层, 阅读全文
posted @ 2020-08-22 15:56 lswtianliang 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 1.跳表是一种动态的数据结构(往跳表中插入数据时,我们需要不断的更新索引),它可以支持快速的插入、删除、查找功能,甚至可以替换红黑树,但实际使用不多,主要是红黑树出来的比较早,很多系统级别类库已经内置。 2. 一个链表,查找效率是O(n),如果给它建立索引,二级(多级)索引,先在索引里查找,然后在逐 阅读全文
posted @ 2020-08-22 15:28 lswtianliang 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 1. 二分法查找算法,判断一个数是否在一个有序数组中存在,最快的方法就是二分法,时间复杂度为O(Logn) 2. 利用二分思想,每次与中间数值比较,缩小查找范围。 3. 写好二分查找需要注意,循环条件是low <= high; mid取值最好不用mid=(low+high)/2, 而是用low + 阅读全文
posted @ 2020-08-22 11:58 lswtianliang 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 桶、基数,计数排序都是针对海量数据的排序方法,时间复杂度为O(n)。 1. 桶排序 顾名思义,会用到“桶”,核心思想是将要排序的数据分到几个有序的桶里,每个桶里的数据再单独进行排序。桶内排完序之后,再把每个桶里的数据按照顺序依次取出,组成的序列就是有序的了。 桶排序的限制条件。 a.要排序的数据需要 阅读全文
posted @ 2020-08-22 09:21 lswtianliang 阅读(158) 评论(0) 推荐(0) 编辑