![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
puffx2
这个作者很懒,什么都没留下…
展开
-
续上节dd
链栈链表的头指针就是栈顶 不需要头结点 基本不存在栈满的情况 空栈相当于头指针指向空 插入和删除仅在栈顶执行 指针方向从a[n]指向a[1]递归问题条件:能将一个问题转变成一个新问题 且新问题与原问题解法相同或类同 处理对象不同 但处理对象变化有规律 可以通过上述转化而使问题简化 必须有一个明确的递归出口 或称递归的边界分治法一般形式void p(参数表){ if(递归结束条件)可直接求解步骤;--------基本项 else p(较小的...原创 2022-03-11 16:53:53 · 151 阅读 · 0 评论 -
栈和队列--学习笔记
栈栈的相关概念常用、重要的数据结构 定义:限定插入和删除只能在表的端点(通常是表尾,称作栈顶)进行的线性表 逻辑结构:一对一关系,与普通线性表相同 存储结构:顺序栈或链栈均可,顺序栈更常见 运算规则:只能在栈顶运算 且访问结点依照后进先出(LIFO结构)原则 实现方式:编写入栈出栈函数 表尾a[n]端称为栈顶Top,表头a[1]端称为栈底Base 插入元素到栈顶(表尾)称为入栈(Push) 从栈顶删除最后一个元素称为出栈(Pop)栈的抽象数据类型的类型定义ADT Stack {原创 2021-12-05 23:00:26 · 222 阅读 · 0 评论 -
顺序表和链表的比较
链式存储结构的优点结点空间可以动态申请和释放 数据元素的逻辑次序靠结点的指针来指示,插入和删除时不需要移动数据元素链式存储结构的缺点:存储密度小,每个结点的指针域需额外占用存储空间,当每个结点的数据域所占字节不多时,指针域所占存储空间的比重显得很大 时非随机存取结构(顺序存取),对任一结点的操作都要从头指针沿链表查找 增加了算法复杂度...原创 2021-12-05 18:36:49 · 188 阅读 · 0 评论 -
链表(线性表的链式表示)笔记
概念存储单元物理位置任意(可以是连续的也可以是不连续的)逻辑次序和物理次序不一定相同 链表的结点包含数据域和指针域 n个结点由指针链组成一个链表 访问时只能通过头指针进入链表,并依次向后顺序扫描,寻找结点时间不同--顺序存取法头指针、头结点和首元结点头指针:指向链表中第一个结点的指针 头结点:在链表的首元结点之前附设的一个结点 首元结点:指链表中存储第一个数据元素a1的结点 头指针->头结点->首元结点 头指针->首元结点设置头结点的好处:便于首元结点的处理..原创 2021-12-05 18:30:13 · 373 阅读 · 0 评论 -
顺序表笔记
顺序表(线性表的顺序存储结构)的特点:利用数据元素的存储位置表示线性表中相邻数据元素之间的前后关系,及线性表的逻辑结构与存储结构一致。 在访问线性表时,可以快速地计算出任何一个数据元素的存储地址。因此可以粗略地认为,访问每个元素所花时间相等。 这种存取元素的方法被称为随机存取法。优点:存储密度大(结点本身所占存储量/结点结构所占存储量) 可以随机存取表中任一元素缺点:在插入、删除某一元素时,需要移动大量元素。 浪费存储空间 属于静态存储形式,数据元素的个数不能自由扩充顺序表的基本原创 2021-12-02 17:38:27 · 187 阅读 · 0 评论