小猪的数据结构辅助教程
coder-pig
世界不会因为你的疲惫,而停下它的脚步;时间一天天过去,我们终会因我们的努力或堕落变得丰富或苍白
展开
-
小猪的数据结构辅助教程——1.数据结构与算法绪论
小猪的数据结构辅助教程——1.数据结构与算法绪论标签(空格分隔): 数据结构本节学习路线图与学习要点学习要点: 1.了解数据结构的相关概念 2.了解算法的相关概念 3.熟悉时间复杂度的计算 4.了解空间复杂度的概念,闰年表空间换时间的例子~ 1.什么是数据结构?2.算法的叙述3.时间复杂度计算的简单示例数据结构预算法——时间复杂度分析实例原创 2015-12-08 21:38:49 · 184287 阅读 · 4 评论 -
小猪的数据结构辅助教程——3.3 栈的应用实例:逆波兰式(RPN)
在开始讲解逆波兰式之前,我们先来了解下我们平时数学里是如何写表达式的,比如: 8 * (1 + 2) / (2 + 4),好的,瞄一眼,我们就能得出结果是4,我们是根据运算符 的优先级来计算的,括号 > 乘除 > 加减,是吧!我们很简单就能得出结果,但是,假如 这上面的这段表达式丢给计算机呢?计算机需要进行多次if判断才能够决定先算哪一部分! 有没有什么好的解决方法呢?答案肯定是有的:比如本节要讲的逆波兰式~原创 2016-01-03 03:59:42 · 183935 阅读 · 1 评论 -
小猪的数据结构辅助教程——3.2 栈与队列中的链栈
小猪的数据结构辅助教程——3.2 栈与队列中的链栈标签(空格分隔): 数据结构1.本节引言: 嗯,本节没有学习路线图哈,因为栈我们一般都用的是顺序栈,链栈还是顺带提一提吧, 栈因为只是栈顶来做插入和删除操作,所以较好的方法是将栈顶放在单链表的头部,栈顶 指针与单链表的头指针合二为一~所以本节只是讲下链栈的存储结构和基本操作!2.链栈的存储结构与示意图存储结构:typedef str原创 2016-01-02 14:30:10 · 182937 阅读 · 3 评论 -
小猪的数据结构辅助教程——3.1 栈与队列中的顺序栈
小猪的数据结构辅助教程——3.1 栈与队列中的顺序栈标签(空格分隔): 数据结构本节学习路线图与学习要点学习要点 1.栈与队列的介绍,栈顶,栈底,入栈,出栈的概念 2.熟悉顺序栈的特点以及存储结构 3.掌握顺序栈的基本操作的实现逻辑 4.掌握顺序栈的经典例子:进制变换的实现逻辑1.栈与队列的概念:嗯,本节要进行讲解的就是栈 + 顺序结构 = 顺序栈! 可能大家对栈的概念还是原创 2015-12-31 23:19:59 · 182511 阅读 · 4 评论 -
小猪的数据结构辅助教程——2.6 经典例子:魔术师发牌问题和拉丁方阵问题
小猪的数据结构辅助教程——2.6 经典例子:魔术师发牌问题和拉丁方阵问题标签(空格分隔): 数据结构本节引言: 本节继续带来的是循环链表的两个经典例子,分别是魔术师发牌问题和拉丁方阵问题!1.魔术师发牌问题问题描述: 魔术师利用一副牌中的13张黑桃牌,预先将他们排好后叠放在一起,牌面朝下。对观众说:“我不看牌,只数数就可以次熬到每张牌是什么,我大声数数,你们听,不信?现场演示。”魔术师将牌原创 2015-12-13 13:43:20 · 182515 阅读 · 2 评论 -
小猪的数据结构辅助教程——2.5 经典例子:约瑟夫问题的解决
小猪的数据结构辅助教程——2.5 经典例子:约瑟夫问题的解决标签(空格分隔): 数据结构约瑟夫问题的解析 关于问题的故事背景就不提了,我们直接说这个问题的内容吧: 一堆人,围成一个圈,然后规定一个数N,然后依次报数,当报数到N,这个人自杀,其他人鼓掌!啪啪啪, 接着又从1开始报数,报到N又自杀…以此类推,直到死剩最后一个人,那么游戏结束! 这就是问题,而我们用计算机模拟原创 2015-12-11 20:05:10 · 186793 阅读 · 2 评论 -
小猪的数据结构辅助教程——2.4 线性表中的循环链表
小猪的数据结构辅助教程——2.4 线性表中的循环链表标签(空格分隔): 数据结构本节学习路线图与学习要点学习要点: 1.了解单链表存在怎样的缺点,暴露出来的问题 2.知道什么是循环单链表,掌握单链表的特点以及存储结构 3.掌握循环链表的一些基本操作的实现逻辑,最好能手撕代码 1.循环单链表的引入2.循环链表的特点以及存储结构循环链表的特点: 上面也说了,比单链表稍微高比格原创 2015-12-10 19:44:35 · 181369 阅读 · 1 评论 -
小猪的数据结构辅助教程——2.2 线性表中的单链表
**学习要点**:> - 1.理解顺序表以及单链表各自的有点以及缺点!- 2.熟悉单链表的形式,对于头指针,头结点,尾结点,数据域和指针域这些名词要知道是什么!- 3.熟悉单链表的结点结构- 4.区分**头指针**与**头结点**!- 5.熟悉创建单链表的两种方式:头插法和尾插法- 6.了解单链表12个基本操作的逻辑- 7.有趣的算法题:查找单链表的中间结点~原创 2015-12-09 11:59:03 · 182654 阅读 · 1 评论 -
小猪的数据结构辅助教程——2.1 线性表中的顺序表
**学习要点**:> - 1.抽象数据类型(ADT)的概念,三要素:数据,数据元素间的关系和数据的操作- 2.线性表的特点:按照一条线排列的数据集合,1对1,除了首元和尾元,其他元素都有直接前驱和直接后继- 3.牢记线性表的存储结构,要理解并熟悉12个基本操作的逻辑,最好能徒手撕出代码- 4.求并集,顺序表的经典例子,必须掌握!原创 2015-12-08 21:57:51 · 184327 阅读 · 1 评论 -
小猪的数据结构辅助教程——前言
面试给人上了一课,突然感觉数据结构很重要;还有,帮助后来者,刚接触数据结构的童鞋们一点点方向,不至于学完什么都不知道!大部分学校采用的教程应该是严蔚敏老师的《数据结构(C语言版)》吧,而讲数据结构课程的一般也是老教授吧,这也是为何上数据结构课会昏昏欲睡的大部分原因,写这套教程的目标就是想让大家有目的性地去学数据结构!不至于学完什么都不会,当然也会挑1,2个经典的例子进行讲解!别把这个当教程,你可以把本套教程原创 2015-12-08 21:22:38 · 187484 阅读 · 5 评论 -
小猪的数据结构辅助教程——2.3 线性表中的静态链表
> 我们前面学习了顺序表和单链表,顺序表有点类似于我们的数组,而链表则用的指针,那么这里问个问题,如果是以前,还没有指针呢?前辈先人又是如何来实现单链表的呢?答:机智的前人想出了这样的方法:**数组下标 + 游标** 的方式来实现单链表,也就是本节要讲解的静态链表!当然你也可以直接跳过本节,毕竟考试什么的基本不会考静态链表。这里的话我们学习的是一种思维方式,当条件限制了你不不允许使用某种方式,那么你如何用另原创 2015-12-09 15:57:32 · 180056 阅读 · 1 评论 -
小猪的数据结构辅助教程——2.7 线性表中的双向循环链表
小猪的数据结构辅助教程——2.7 线性表中的双向循环链表标签(空格分隔): 数据结构本节学习路线图与学习要点学习要点: 1.了解引入双向循环链表的原因 2.熟悉双向循环链表的特点以及存储结构 3.掌握双向循环链表的一些基本操作的实现逻辑 4.掌握逆序输出双向循环链表元素逻辑1.双向循环链表的引入2.双向循环链表的存储结构双向循环链表的特点: 上面也说了,空间换时间,比起循原创 2015-12-26 01:26:22 · 180620 阅读 · 3 评论