数据结构与算法
文章平均质量分 64
香蕉割草机
这个作者很懒,什么都没留下
展开
-
数据结构与算法(二)线性表
线性结构,是一对一的关系原创 2022-03-11 09:56:20 · 169 阅读 · 0 评论 -
堆排序梳理与复杂度分析
之前看了下堆排序,此处的堆感觉和我理解的堆不是一个东西。此文力图探讨以下问题:1.堆排序中“堆”的含义2.堆排序算法的实现3.算法的复杂度分析4.堆排序蕴含的原理原创 2021-09-08 20:55:31 · 2104 阅读 · 0 评论 -
Brian Kernighan算法
讨论范围n>0,即正整数快速判断的方法是n&n-1为0则是2的幂,当n>0时,分两种情况,二进制下一种是只有1位是1,另一种是至少2位是1,则当只有一位时,-1有取反的效果,n&n-1相当于n&~n绝对是0。当至少两位为1,那么,减一时,最高位的1必定不受影响,所以n&n-1必定不是0.由此可以区分一个数是否为2的幂。...原创 2021-05-31 12:32:10 · 460 阅读 · 0 评论 -
关于时间复杂度的理解
以前看到了时间复杂度,有什么 O(1),O(log(n)),O(n),O(nlog(n)),O(n2),O(2n),O(n!)等等。O(1)就是时间复杂度与数据规模无关,数据再多,时间也是一定的。比较典型的是哈希表,以空间换时间。O(log(n))这个我之前一直不知道复杂度怎么和对数联系起来的。后来二分法,以及汉明距离计算,让我知道,原来是这样。二分法,顾名思义,排好序的一堆数据,每次从中间取数据与目标数据比较,分而治之,小了就从更小范围找,大了就从更大范围找,那么最坏的情况,就是遍历到最后,已经不可分原创 2021-05-29 13:07:22 · 581 阅读 · 0 评论 -
斐波那契数列与汉诺塔问题及递归
额,人比较笨,从基础的来斐波那契数列已知初始有一只小兔子,已知小兔一个月后变为成兔,成兔一个月可产崽一只,问第n个月时兔子的总数量。由条件分析可知,下个月的成兔数量等于上月成兔数量+上个月小兔数量。而小兔数量,则等于上个月成兔数量。则第n月小兔数量:小兔(n)=成兔(n-1)第n月成兔数量:成兔(n)=成兔(n-1)+小兔(n-1),即f(n)=f(n-1)+f(n-2)由此可知,第n月兔子总数:兔子(n)=小兔(n)+成兔(n)=2成兔(n-1)+小兔(n-1)=2成兔(n-1)+成兔(n-原创 2021-05-24 22:31:09 · 249 阅读 · 0 评论 -
数据结构与算法(一)绪论
前言1. 什么是数据结构2. 基本概念和术语3. 抽象数据类型的表示和实现4. 算法和算法分析1. 算法2. 算法设计的要求3. 算法效率的度量4. 算法存储空间需求前言这里说的数据结构和算法是c语言版的数据结构。 以前学东西总免不了只学理论,希望学数据结构时能多多实践。。1. 什么是数据结构2. 基本概念和术语3. 抽象数据类型的表...原创 2020-05-10 13:54:47 · 240 阅读 · 1 评论