【数据结构与算法】王卓老师
文章平均质量分 64
青岛大学,王卓老师数据结构与算法学习笔记
Fourier 青年
这个作者很懒,什么都没留下…
展开
-
青岛大学_王卓老师【数据结构与算法】Week06_01_串的定义_学习笔记
串(string):零个或多个任意字符组成的有限序列。原创 2023-07-19 00:59:26 · 171 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_15_队列的链式表示和实现_学习笔记
/ 最大队列长度// 队头指针// 队尾指针}LinkQuene;原创 2023-07-19 00:28:18 · 151 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_14_队列的顺序表示和实现2_学习笔记
/ 最大队列长度// 初始化的动态分配存储空间// 头指针,若队列不空,则指向队列头元素int front;// 尾指针,若队列不空,则指向队尾元素的下一个位置int rear;}SqQueue;原创 2023-07-18 23:03:13 · 1229 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_13_队列的顺序表示和实现1_学习笔记
base[0] 接在 base[MAXQSIZE - 1] 之后,若 rear + 1 == M,则令 rear = 0;当 rear 为 maxqsize 时,若向量的开始端空着,又可从头使用空着的空间。(2) 将队空间设想成一个循环的表,即分配给队列的 m 个存储单元可以循环使用。设数组大小为 MAXQSIZE,rear = MAXQSIZE 时,发生溢出。就好像下标为 0 的位置是接在下标为 5 的位置后面。每移动一次,队中元素都要移动。循环队列:循环使用为队列分配的存储空间。原创 2023-07-18 23:01:34 · 1104 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_12_队列的类型定义_学习笔记
队列(Queue)是仅在表尾进行插入操作,在表头进行删除操作的线性表。表尾即 a_n 端,称为队尾;表头即 a_1 端,称为队头。队列是一种先进先出( FIFO )的线性表例如插入元素称为入队;删除元素称为出队;队列的存储结构为链队或顺序队(常用循环顺序队)ADT Queue{数据对象: D={a_i | a_i ∈ ElemSet, i = 1, 2, ..., n, n ≥ 0)数据关系: R={<a_i-1, a_i> | a_i-1, a_i ∈ D, i=2, ..., n)原创 2023-07-14 23:03:45 · 508 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_11_栈与递归_学习笔记
(1) 若一个对象部分地包含它自己,或用它自己给自己定义,则称这个对象是递归的。(2) 若一个过程直接或间接地调用自己,则称这个过程是递归的过程。例如:递归求 n 的阶乘if(n == 0)return 1;else阶乘函数2 阶 Fibonaci 数列。原创 2023-07-14 08:12:24 · 557 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_10_顺序栈的操作3_学习笔记
数据结构与算法基础–第05周10–3.3栈的表示和实现6–3.3.3链栈表示和实现链栈:链式结构存储栈。链栈是运算受限的单链表,只能在链表头部进行操作链栈的存储(1) 链表的头指针就是栈顶(2) 不需要头结点(3) 基本不存在栈满的情况(4) 空栈相当于头指针指向空(5) 插入和删除仅在栈顶处执行判断链栈是否为空链栈的入栈链栈的出栈取栈顶元素原创 2023-07-14 06:48:12 · 578 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_09_顺序栈的操作3_学习笔记
(1) 判断是否栈空,若空则出错(下溢)(2) 获取栈顶元素 e。(3) 栈顶指针减 1。原创 2023-07-14 00:29:18 · 720 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_08_顺序栈的操作2_学习笔记
(1) 判断是否栈满,若满则出错(上溢)(2) 元素 e 压入栈顶。(3) 栈顶指针加 1。原创 2023-07-14 00:21:30 · 674 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_07_顺序栈的操作1_学习笔记
/ 栈底指针// 栈顶指针// 栈可用最大容量}SqStack;原创 2023-07-13 23:54:06 · 410 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_06_栈的顺序表示_学习笔记
同一般线性表的顺序存储结构完全相同,利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素。上溢是一种错误,使得问题的处理无法进行;而下溢一般认为是一种结束条件,即问题处理结束。由于栈本身就是线性表,于是栈也有顺序存储和链式存储两种实现方式。下溢(underflow):栈已经空,还要弹出元素。上溢(overflow):栈已经满,又要压入元素。,作为栈的存储空间,将原栈的内容移入新栈。,指示栈顶元素在顺序栈中的位置。,指示栈底元素在顺序栈中的位置。但是,为了方便操作,通常。栈的顺序存储——顺序栈。原创 2023-07-13 23:25:58 · 527 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_05_栈的抽象数据类型定义_学习笔记
ADT Stack{数据对象:数据关系:约定 a_n 端为栈顶, a_1 端为栈底。基本操作:初始化、进栈、出栈,取栈顶元素等}ADT Stack。原创 2023-07-11 23:59:31 · 134 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_04_案例引入_学习笔记
任何一个算术表达式都由操作数(常数、变量)、算术运算符(+、-、*、/)和界限符(括号,表达式结束符 ‘#’、虚设的表达式起始符 ‘#’)组成。若这个运算符比 OPTR 栈顶运算符的优先级低,则从 OPND 栈中弹出两个运算数,从 OPTR 中弹出栈顶运算符进行运算,并将运算结果压入栈 OPND。(2) 运算符(operator):算术运算符、关系运算符和逻辑运算符。表达式求值是程序设计语言编译中一个最基本的问题,它的实现也需要用栈。(1) 当扫描到的是运算数,则将其压入栈 OPND,原创 2023-07-11 23:58:03 · 469 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_03_队列的定义和特点_学习笔记
队列(queue)是一种先进先出FIFO)的线性表。在表的一端插入(表尾),在另一端(表头)删除。(1) 定义限定只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表(头删尾插)(2) 逻辑结构与同线性表相同,仍为一对一关系。(3) 存储结构用顺序队或链队存储,但以循环顺序队列更常见。(4) 运算规则只能在队首和队尾运算,且访问结点时按照先进先出(FIFO)的原则。(5) 实现方式关键是掌握入队和出队操作,具体实现依顺序队或链队的不同而不同。原创 2023-07-10 08:30:01 · 498 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_02_栈的定义和特点_学习笔记
栈(stack)是一个特殊的线性表,是限定仅在一端(通常在表尾)进行插入和删除操作的线性表。又称为后进先出(Last In First Out)的线性表,简称LIFO结构。(1) 定义限定只能在表的一端进行插入和删除运算的线性表(只能在栈顶操作)(2) 逻辑结构与同线性表相同,仍为一对一关系。(3) 存储结构用顺序栈或链栈存储即可,但以顺序栈更常见。(4) 运算规则只能在栈顶运算,且访问结点时按照后进先出(LIFO)的原则。(5) 实现方式。原创 2023-07-10 08:07:04 · 394 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week05_01_栈和队列的定义和特点1_学习笔记
普通线性表的插入和删除操作栈和队列是两种常用的、重要的数据结构栈和队列是限定插入和删除只能在表的端点进行的线性表。原创 2023-07-10 07:16:39 · 583 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week04_13_案例分析与实现3_学习笔记
图书信息管理系统结点定义。原创 2023-07-06 23:32:29 · 458 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week04_12_案例分析与实现2_学习笔记
则循环比较 p1 和 p2 所指结点对应的指数值(p1->expn 与 p2->expn),有下列 3 种情况。当 p1->expn < p2->expn 时,则应摘取 p1 所指结点插入到 " 和多项式 " 链表中去;当 p1->expn > p2->expn 时,则应摘取 p2 所指结点插入到 " 和多项式 " 链表中去;当 p1->expn == p2->expn 时,则将两个结点种的系数相加。若和不为零,则修改 p1 所指结点的系数值,同时删除 p2 所指结点。(1) 创建一个新数组 c。原创 2023-07-06 23:28:26 · 567 阅读 · 1 评论 -
青岛大学_王卓老师【数据结构与算法】Week04_11_案例分析与实现1_学习笔记
实现两个多项式相加运算。原创 2023-07-06 21:04:11 · 325 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week04_10_线性表的应用3_学习笔记
用 La 或 Lb 的头结点作为 Lc 的头结点都可以,这里用 La 的头结点作为 Lc 的头结点。原创 2023-07-06 07:02:15 · 322 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week04_09_线性表的应用2_学习笔记
(1) 依次从 La 或 Lb 中 “摘取” 元素值较小的结点插入到 Lc 表的最后,直至其中一个表变为空为止。现要求将 La 和 Lb 归并为一个新的线性表 Lc,且 Lc 中的数据元素扔按值非递减有序排列。(2) 继续将 La 或 Lb 其中一个表的剩余结点插入在 Lc 表的最后。已知线性表 La 和 Lb 中的数据元素按值非递减有序排列,(1) 创建一个空表 Lc。原创 2023-07-06 05:08:59 · 611 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week04_08_线性表的应用1_学习笔记
假设利用两个线性表 La 和 Lb 分别表示两个集合 A 和 B,现要求一个新的集合 A = A ∪ B。(2) 如果找不到,则将其插入 La 的最后。依次取出 Lb 中的每个元素,执行以下操作。(1) 在 La 中查找该元素。原创 2023-07-06 04:25:07 · 620 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week04_07_顺序表和链表的比较_学习笔记
数据元素的逻辑次序靠结点的指针来指示,插入和删除时不需要移动数据元素。结点空间可以动态申请和释放。原创 2023-07-05 23:07:29 · 402 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week04_06_单链表、循环链表、双向链表的比较
数据结构与算法基础–第04周06–单链表、循环链表、双向链表的比较📚 📌 📝 🔍 ⚠️ 😊 ⭐ 🔗 👋 ❓ 💬 🔹 🔸 🔖 ❗️ 💟 ➔原创 2023-07-05 23:02:13 · 260 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week04_05_双向链表的删除_学习笔记
如果需要查找删除位置,时间复杂度:O(n)时间复杂度:O(1)原创 2023-07-05 08:48:34 · 322 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week04_04_双向链表的插入_学习笔记
【代码】青岛大学_王卓老师【数据结构与算法】Week04_04_双向链表的插入_学习笔记。原创 2023-07-05 08:42:53 · 422 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week04_03_双向链表_学习笔记
数据结构与算法基础–第04周03–2.5.4双向链表1📚 📌 📝 🔍 ⚠️ 😊 ⭐ 🔗 👋 ❓ 💬 🔹 🔸 🔖 ❗️ 💟 ➔❓ 为什么要讨论双向链表单循环双向链表的结构示意图如下和单链的循环表类似,双向链表也可以有循环表(1) 让头结点的前驱指针指向链表的最后一个结点。(2) 让最后一个结点的后继指针指向头结点。结点 b 的前驱结点的后继结点是它本身,结点 b 的后继结点的前驱结点是它本身。所以,在双向循环链表中,查找某一结点可以通过该节结点的前驱结点或该原创 2023-07-04 00:10:47 · 475 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week04_02_带尾结点的循环链表合并_学习笔记
(4) 修改指针:Tb 的尾结点指向 Ta 的头结点。分析带尾指针循环链表的合并有哪些操作?(2) Tb 表头连接到 Ta 表尾。(3) 释放 Tb 表头结点。头指针表示的单循环链表。(1) p 存表头结点。尾指针表示单循环链表。原创 2023-07-03 23:29:35 · 486 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week03_03_线性表的链式表示和实现3_学习笔记
本文是个人笔记,仅用于学习分享,素材来自青岛大学王卓老师的教学视频,如有侵权,请留言作删文处理。原创 2022-12-16 08:40:31 · 139 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week04_01_循环链表_学习笔记
由于循环链表中没有 NULL 指针,故涉及遍历操作时,其终止条件就不再像非循环链表那样判断 p 或 p->next 是否为空,循环链表:是一种头尾相连的链表,即:表中最后一个结点的指针域指向头结点,整个链表形成一个环。优点:从表中任一结点出发均可找到表中其他结点。原创 2023-07-02 22:40:10 · 422 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week03_13_线性表的链式表示和实现13_学习笔记
(2) 初始时,r 同 L 均指向头结点。每读入一个数据元素,则申请一个新结点,将新结点插入到尾结点后, r 指向新结点。(1) 从一个空表 L 开始,将新结点逐个插入到链表的尾部,尾指针 r 指向链表的尾结点。按值查找:根据指定数据获取数据所在的位置(地址)(5) 取值:取单链表中第 i 个元素的内容。按值查找:根据指定数据获取数据所在的位置序号。(7) 插入:在第 i 个结点前插入新结点。(8) 删除:删除第 i 个结点。(4) 判断单链表是否为空。(3) 求单链表的表长。(1) 单链表的销毁。原创 2023-07-02 21:07:23 · 413 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week03_12_线性表的链式表示和实现12_学习笔记
(3) 从最后一个结点开始,依次将各结点插入到链表的前端。(2) 生成新结点,将读入数据存放到新结点的数据域中。按值查找:根据指定数据获取数据所在的位置(地址)(5) 取值:取单链表中第 i 个元素的内容。按值查找:根据指定数据获取数据所在的位置序号。(7) 插入:在第 i 个结点前插入新结点。(1) 从一个空表开始,重复读入数据。(8) 删除:删除第 i 个结点。元素插入在链表头部,也叫前插法。(4) 判断单链表是否为空。(3) 求单链表的表长。(1) 单链表的销毁。原创 2023-07-02 21:03:12 · 256 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week03_11_线性表的链式表示和实现11_学习笔记
因线性链表只能顺序存取,即在查找时要从头指针找起,查找的时间复杂度为 O(n)。原创 2023-07-02 16:56:26 · 395 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week03_10_线性表的链式表示和实现10_学习笔记
(1) 首先找到 a_i-1 的存储位置 p,保存要删除的 a_i 的值。按值查找:根据指定数据获取数据所在的位置(地址)(2) 令 p->next 指向 a_i+1。(5) 取值:取单链表中第 i 个元素的内容。按值查找:根据指定数据获取数据所在的位置序号。(7) 插入:在第 i 个结点前插入新结点。(9) 单链表的建立:头插法和尾插法。(3) 释放结点 a_i 的空间。(4) 判断单链表是否为空。(3) 求单链表的表长。(1) 单链表的销毁。原创 2023-07-02 16:05:46 · 291 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week03_09_线性表的链式表示和实现9_学习笔记
按值查找:根据指定数据获取数据所在的位置(地址)(1) 首先找到 a_i-1 的存储位置 p。(5) 取值:取单链表中第 i 个元素的内容。按值查找:根据指定数据获取数据所在的位置序号。(2) 生成一个数据域为 e 的新结点 s。(9) 单链表的建立:头插法和尾插法。(8) 删除:删除第 i 个结点。(4) 判断单链表是否为空。(3) 求单链表的表长。(1) 单链表的销毁。原创 2023-07-02 12:04:47 · 400 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week03_08_线性表的链式表示和实现8_学习笔记
(2) 如果找到一个其值与 e 相等的数据元素,则返回其在链表中的 " 位置 " 或地址;(3) 如果查遍整个链表都没有找到其值和 e 相等的元素,则返回 0 或 “NULL”。(1) 从第 1 个结点起,依次和 e 相比较。(5) 取值:取单链表中第 i 个元素的内容。(7) 插入:在第 i 个结点前插入新结点。(9) 单链表的建立:头插法和尾插法。(8) 删除:删除第 i 个结点。(4) 判断单链表是否为空。(3) 求单链表的表长。(1) 单链表的销毁。原创 2023-06-30 20:05:48 · 588 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week03_07_线性表的链式表示和实现7_学习笔记
LinkList L;原创 2023-06-29 07:54:25 · 419 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week03_05_线性表的链式表示和实现5_学习笔记
本文是个人笔记,仅用于学习分享,素材来自青岛大学王卓老师的教学视频,如有侵权,请留言作删文处理。原创 2023-03-01 07:10:26 · 140 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week02_04_线性表的定义和特点_学习笔记
本文是个人笔记,仅用于学习分享,素材来自青岛大学王卓老师的教学视频,如有侵权,请留言作删文处理。原创 2022-11-25 07:55:46 · 198 阅读 · 0 评论 -
青岛大学_王卓老师【数据结构与算法】Week02_08_线性表顺序表示和实现3_学习笔记
本文是个人笔记,仅用于学习分享,素材来自青岛大学王卓老师的教学视频,如有侵权,请留言作删文处理。原创 2022-11-28 15:21:37 · 199 阅读 · 0 评论