数据结构与算法
倔强的大萝卜
Email: pengliang@bjtu.edu.cn
展开
-
【数据结构和算法】1绪论
写在前面 本系列博文还是学习小甲鱼系列课程《数据结构与算法》的笔记,目的为了督促自己的学习,顺便记录学习进程! 系列视频地址:https://www.bilibili.com/video/av21828275 鱼C论坛:https://fishc.com.cn/forum.php 大家互相监督吧,有兴趣在下面留言哦! 起始于2018.11.19 于北交大机械楼1003B,计划于年前完成系...原创 2018-11-19 21:16:46 · 173 阅读 · 0 评论 -
【数据结构和算法】3~5 时间复杂度和空间复杂度
算法效率的度量方法 容易想到的方法是:把算法跑若干次,然后拿个计时器在旁边计时。这种方法被称为“事后诸葛亮”方法,也称为事后分析估算方法。 事前分析估算方法:在计算机程序比编写前,依据统计方法对算法进行估算。 通过总结,我们发现,一个高级语言编写程序在计算机上运行所消耗的时间取决于下列因素: (1)算法采用的策略,方案; (2)编译产生的代码质量; (3)问题的输入规模; (4)机器...原创 2018-11-24 10:03:24 · 264 阅读 · 0 评论 -
【数据结构和算法】6 线性表1
线性表的定义 线性表像是排队一样,具有像线一样的性质。 官方定义:线性表(List),是有零个或多个数据元素组成的有限序列; 关于线性表几个关键的地方: (1)首先它是一个序列,也就是说,元素之间是有个先来后到的顺序; (2)若元素存在多个,则第一个元素无前驱,而最后一个元素无后继,且其他元素都是有且有一个前驱和后继; (3)线性表强调是有限的,事实上,无论计算机强大到什么地步,它处理...原创 2018-11-24 10:59:50 · 213 阅读 · 0 评论 -
【数据结构和算法】2谈谈算法
算法初体验 高斯算法"1+2+3+...+100" 普通的解决方法 int i, sum = 0, n = 100; for(i=1; i <= n; i++) { sum = sum + i; } printf(“%d”, sum); 利用高斯的算法 int i, sum = 0, n = 100; sum = (1+n)*n/2; printf(“%d”, sum); ...原创 2018-11-20 10:47:44 · 158 阅读 · 0 评论 -
【数据结构和算法】7 线性表2
线性表的抽象数据类型 抽象数据类型:就是把数据类型和相关操作捆绑在一起。 线性表的创建和性表初始化 小甲鱼组织大家春游,鱼油们按照规律排成一对,并且是长期使用这样的顺序排队,大家只需要记住自己的前驱鱼油是谁就行了。那么这个考虑和安排的过程就是线性表的创建和性表初始化。 线性表的重置 一开始小加油没有经验,鱼油们按照名字的第一个字母就行排列,结果发现队伍里面有高有矮,不美观,于是就让鱼友们...原创 2018-11-25 09:39:28 · 150 阅读 · 0 评论 -
【数据结构和算法】8 线性表:线性表的顺序存储结构
线性表的顺序存储结构 线性表有两种物理存储结构: 顺序存储结构 和 链式存储结构。 物理上的存储方式事实上就是在内存中找个初始地址,然后通过占位的形式,把一定的内存空间给占了,然后把相同数据类型的数据元素依次放在这块空地中。 顺序存储结构:指的是用一段地址连续的存储单元依次存储线性表的数据元素。如下,线性表(a1,a2,......,an)的顺序存储结构: a1 ...原创 2018-11-26 09:34:22 · 266 阅读 · 1 评论