![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 87
以严蔚敏老师的第二版教材为准,看国嵌的数据结构视频来学习。
d127
他强任他强,清风拂山岗
展开
-
数据结构学习记录08——栈的应用1
文章目录1.问题的提出2.解决方案2.1.算法思路2.2.算法框架3.程序演示4.总结 1.问题的提出 在C语言或者其他编程语言中,有一些符号是成对匹配出现的,例如各种括号,引号,几乎所有的编译器都具备检测括号是否匹配的能力。 为此,我们就来写一个程序来仿照编译器中的符号成对检测。 2.解决方案 2.1.算法思路 1.从第一个字符开始扫描; 2.当遇见普通字符时忽略,当遇见左符号时压入栈中; 3.当遇见右符号时从栈中弹出栈顶符号; 4.进行匹配: (1)匹配成功:继续读入下一原创 2021-03-07 18:25:44 · 133 阅读 · 0 评论 -
数据结构学习记录07——栈的定义及实现
文章目录1.栈的定义及性质 1.栈的定义及性质 栈是一种特殊的线性表,是限定仅在表尾进行插入或删除操作的线性表。原创 2021-03-03 15:57:30 · 174 阅读 · 0 评论 -
数据结构学习记录06——线性表之双向链表
文章目录前言1.双向链表的定义2.双向链表的操作2.1创建2.2销毁2.3清空2.4获取长度2.5插入元素2.6获取元素2.7删除元素2.8删除指定元素2.9重置游标2.10获取当前游标指向的元素2.11移动游标指向下一个元素2.12移动游标指向上一个元素3.测试 前言 双向变量同样也是在单链表的基础上进行改进。单链表存在着以下局限: 1.单链表的结点都只有一个指向下一个结点的指针; 2.单链表的数据元素无法直接访问其前驱元素。 对于访问前驱元素,我们或许会想到逆序访问,但是逆序访问单链表中原创 2021-02-10 11:42:48 · 162 阅读 · 0 评论 -
数据结构学习记录05——线性表之循环链表
文章目录前言1.循环链表的定义2.循环链表的操作2.1创建2.2销毁2.3清空2.4获取长度2.5插入元素2.6获取元素2.7删除元素2.8删除指定元素2.9重置游标2.10获取当前游标指向的数据元素2.11移动游标指向下一个元素3.测试3.1常规测试3.2循环链表测试 前言 单链表是一种很强大的线性表,但它不是完美无瑕的。在生活中,不是所有的事物和关系都能用单链表来表示,例如一年有12个月,并且这12个月都是循环排列的,再有就是十二生肖,都是从子鼠开始,到亥猪为一个周期,然后周而复始地循环。 单链原创 2021-02-05 22:04:33 · 230 阅读 · 0 评论 -
数据结构学习记录04——线性表之静态链表
文章目录前言1.静态链表的定义2.静态链表的常用操作2.1创建2.2销毁2.3清空2.4获取长度2.5获取容量2.6插入元素2.7获取元素2.8删除元素3.测试 前言 上一节讲了单链表的操作,可以看出单链表解决了顺序存储结构的不足,但是单链表也有其相对劣势:单链表的实现严重依赖指针!数据元素中必须包含一个额外的指针域!没有指针的语言无法实现! 为此,我们就引入了静态链表,静态链表可以说是在顺序表的基础上进行了改进。 1.静态链表的定义 在顺序表的基础上,做了如下改进: 1.顺序表数组中的元素原创 2021-02-04 14:57:18 · 126 阅读 · 0 评论 -
数据结构学习记录03——线性表之链式存储结构
文章目录原创 2021-02-03 11:16:32 · 140 阅读 · 0 评论 -
数据结构学习记录02——线性表之顺序存储结构
文章目录1.线性表的本质2.线性表的相关操作 1.线性表的本质 线性表是零个或多个数据元素的集合,其数据元素之间是有顺序的,个数是有限的,并且类型必须相同。 书上的定义:线性表是由n(n≥0)个数据特性相同的元素构成的有限序列。 线性表中,1)a0为第一个元素,只有一个后继;2)an为最后一个元素,只有一个前驱;3)其它元素ai,既有前驱,也有后继,线性表能够逐项访问和顺序存取。 2.线性表的相关操作 假设我们要实现一个图书信息管理系统,每种图书仅包括三部分信息:ISBN、书名和价格,那么这原创 2021-01-31 20:33:58 · 174 阅读 · 0 评论 -
数据结构学习记录01——绪论
文章目录0.前言1.基本概念和术语 0.前言 好久没写博客了,今天算是重出江湖了吧,以后会记着坚持写的。 最近在学习数据结构,参考教材是严蔚敏的《数据结构(C语言版)》第二版,至于为什么用第二版,或许是觉得这本书看着要顺眼一些吧(????),同时还在看国嵌的数据结构视频。 1.基本概念和术语 计算机的程序是用来处理一些信息和数据的,那么什么是程序呢?国嵌里是这样说的,程序是为了实际问题而存在的,从本质上来说,程序是解决问题的步骤描述。 评鉴一个程序:用尽量少的内存空间解决问题;用尽量少的原创 2021-01-26 20:03:33 · 380 阅读 · 1 评论