![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
antonio@qaa
90后硕士奶爸,流媒体开发者
展开
-
希尔排序、归并排序、快速排序,KMP
再说这三种排序前,先对比下这几种排序的复杂度。 1.希尔排序 希尔排序的思想是以分组的方式,分而治之。 核心思想:一边分组一边排 例如把10个数据,分为5组,5组里面,小的放在左边,大的放在右边。第二次,再把它分为4组,依然是小的放左边,大的放在右边。分组的次数越多,交换的次数越小。也可以把希尔排序看作一次分组的插入排序。 希尔排序空间存储比较小o(1),适合空间复杂度比较小的场景。如果空间复杂度比较大,一般都是外排序。 稳定和不稳定的意思是什么? 比如集合中,有2个数一样,但是两个数经过排序后,依.原创 2020-06-30 17:29:25 · 245 阅读 · 0 评论 -
二叉树与红黑树
红黑树在工程中的使用,红黑树是平衡树的一种。 红黑树顺序的功能 快速查找的功能 1.二叉树插入 如果比当前根节点大,就插到右子树 如果比当前根节点小,就插到左子树 再与根节点的子树去比较,决定插入到左子树,还是右子树。 一直到左右子树为空的情况。注意:二叉树的插入,只能作为叶子节点。 代码中的tmp指向的是node的父节点。下图的根节点是tmp指向的,node是指向根节点的子节点。 //二叉树创建节点,一般是不对外开放 struct bstree_node *bstree_cr原创 2020-06-30 17:23:09 · 250 阅读 · 0 评论