随笔分类 -  数据结构和算法

记录学习数据结构的笔记
摘要:一.概念 快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归 阅读全文
posted @ 2019-08-18 15:28 Don'tYouSee 阅读(218) 评论(0) 推荐(0)
摘要:一:堆结构 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。 上图中每个数都进行了标记,上面的结构映射成数组就变成 查找数组中某个数的父结点和左右孩子结点,比如已知索引为i的数,那么 1.父结点索引:( 阅读全文
posted @ 2019-08-17 17:23 Don'tYouSee 阅读(289) 评论(0) 推荐(0)
摘要:一:算法概念 算法(Algorithm)指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。 主要从算法所占用的「时间」和「空间」两个维度去考量。 时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂 阅读全文
posted @ 2019-08-17 16:46 Don'tYouSee 阅读(476) 评论(0) 推荐(0)
摘要:一: 红黑树(RB-Tree)概念 也是二叉查找树,我们知道,二叉查找树这一数据结构并不难,而红黑树之所以难是难在它是自平衡的二叉查找树,在进行插入和删除等可能会破坏树的平衡的操作时,需要重新自处理达到平衡状态。现在在脑海想下怎么实现?是不是太多情景需要考虑了?好吧,我们先来看下红黑树的定义和一些基 阅读全文
posted @ 2019-07-15 09:32 Don'tYouSee 阅读(377) 评论(0) 推荐(0)