数据结构与算法
文章平均质量分 72
自学数据结构与算法,难但很充实
奥申
既然不会说,那就把想的都写出来
展开
-
数据结构——栈
栈(Stack) 栈是只允许在一端进行插入或者删除操作的线性表(LILO:先进后出) 栈的基本操作 创 InitStack(&S):初始化栈,构建一个空栈S,分配内存空间 销 DestoryStack(&L):销毁栈,销毁并释放栈L所占用的内存空间 增 PushStack(&S,x):进栈,若栈S未满,则将x加入使之成为新栈顶 删 Pop(&S,&x):出栈,若栈S非空,则弹出栈顶元素,并用x返回 查 GetTop(S,&x):读栈顶元素,若栈S非空,则用x原创 2021-01-23 13:24:18 · 173 阅读 · 2 评论 -
数据结构——线性表(链表)
文章目录单链表单链表声明单链表初始化(带头结点)单链表判断是否为空(带头结点)单链表判断是否为空(不带头结点)单链表按位序插入(带头结点)单链表按位序插入(不带头结点)单链表后插操作单链表前插操作单链表删除(带头结点)单链表删除(不带头结点)单链表删除指定节点单链表按位查找单链表按值查找求单链表的长度(带头结点)求单链表的长度(不带头结点)尾插法建立单链表(带头结点)尾插法建立单链表(不带头结点)头插法建立单链表(带头结点) (可以用于链表逆置!!!!!!!!!)头插法建立单链表(不带头结点) 单链表 单原创 2021-01-08 10:36:11 · 347 阅读 · 0 评论 -
数据结构——线性表(顺序表)
文章目录线性表顺序表的声明(静态分配方式)顺序表的声明(动态分配+扩容)线性表的插入线性表的删除线性表按位查找线性表按值查找 线性表 定义:具有相同特性的数据元素的一个有限序列,同一线性表中的元素必须具有相同特征,数据元素间的关系事线性关系 特点: 随机访问:可以在O(1)的时间复杂度内找到第n个元素 存储密度高:每个节点只存储数据元素 拓展容量不方便,即使采用动态分配的方式,时间复杂度也比较高 插入、删除操作不方便,需要移动大量的元素 先来看一下关于顺序表的一些操作 顺序表的声明(静态分配方式)原创 2021-01-07 19:27:19 · 169 阅读 · 0 评论 -
数据结构——前言
数据结构的研究内容 我们首先看一下数据结构的研究内容 首先是通过计算机解决问题,具体问题抽象为数学模型,实质又分为三步:分析问题、提取操作对象、 找出操作对象之间的关系、用数学语言描述==》数据结构,然后就是设计算法,编程、调试、运行。 描述 ...原创 2021-01-07 13:35:15 · 484 阅读 · 0 评论