
educoder数据结构与算法
文章平均质量分 86
头歌2022年寒假——《算法与数据结构》编程实践任务
国防科大祝恩《数据结构》
幸福西西弗斯
莫忘少年凌云志,仍许天下第一流
展开
-
educoder数据结构 图 无错AC代码版
图 2 给出了对图 1 的无向图的存储结构图:每个顶点的名称由一个字符串描述,所有字符串的起始地址组织为一个数组,数组的起始地址为。图 2 给出了对图 1 的无向图的存储结构图:每个顶点的名称由一个字符串描述,所有字符串的起始地址组织为一个数组,数组的起始地址为。深度优先遍历的顶点访问次序是:ABDCFE。宽度优先遍历的顶点访问次序是:A B C F D E。注意遵守约定:编号小的优先入队列。输出格式: 输出生成树的边序列,边的第。输出格式: 输出生成树的边序列,边的第。个顶点构成的序列应是顶点访问序列。原创 2023-01-28 11:17:55 · 876 阅读 · 0 评论 -
educoder数据结构 排序 第2关:实现快速排序
对这两个部分采用同样的方法进行处理,直到每个部分为空或只含一个记录为止。:从待排序记录中任选一个记录,以它的排序码作为中心值,将其它记录划分为两个部分,本关的编程任务是补全 step2/quickSort.cpp 文件中的。下图 1 给出了一个用中心值将排序记录分割为前后两部分的示例过程。调用,按照从小到大的排列顺序实现快速排序的功能。: 输出对 n 个整数从小到大排序的结果。包含所有排序码小于等于中心值的记录,调用,以此来实现快速排序的功能。包含所有排序码大于中心值的记录。开始你的任务吧,祝你成功!原创 2023-01-28 11:01:37 · 1806 阅读 · 0 评论 -
educoder数据结构 排序 第1关:实现直接插入排序
排序educoder头歌2022——2023寒假数据结构课程习题——排序原创 2023-01-28 10:55:06 · 884 阅读 · 0 评论 -
educoder头歌数据结构 查找 第2关:实现散列查找(答案无错AC版)
假设有 8 个关键码: 7 , 15 , 23 , 31 , 12 , 14 , 10 , 17 ,采用散列函数hash(key)=key%7,其存储结构图如图 1 所示,它由 7 个独立链表组成,散列值相同的关键码在同一个链表里,独立链表的头结点组成散列表,一共 7 行,编号 0 , 1 , …输入格式: 首先输入一个正整数n,创建一个长n的散列表。在散列表中,如果表项的key字段等于 0 (假设有效的关键码值不等于 0 ),则表示该行是一条空链表,例如图 1 中编号为 4 和编号为 6 的行。原创 2023-01-03 14:31:20 · 3046 阅读 · 0 评论 -
educoder头歌数据结构 查找 第1关:实现折半查找
折半查找通常是针对顺序存储的线性表,线性表的结点按关键码从小到大排序,后面称之为折半查找的顺序表。为了简化讨论,假设折半查找的顺序表中每个结点只含一个关键码,关键码为整数。图 1 给出了一个存储了 4 个关键码的折半查找的顺序表的存储结构图。平台获取该 exe 可执行文件的输出,然后将其与预期输出对比,如果一致则测试通过;的结点并返回该结点的编号。是存储关键码的连续空间的起始地址,顺序表中当前的关键码的个数由。函数,以实现在已排序的顺序表中查找关键码值为。的结点的编号,若为 -1 则表示没有找到。原创 2023-01-03 14:29:12 · 2962 阅读 · 2 评论 -
educoder数据结构 字符串匹配 第2关:实现KMP字符串匹配
第 1 关中实现的朴素的字符串匹配算法在实际应用系统中效率低,而 KMP 字符串匹配算法可以实现高效的匹配。本关的编程任务是补全 step2/kmp.cpp 文件中的。本关的编程任务是补全 step2/kmp.cpp 文件中的。函数,以实现 KMP 字符串匹配。该函数生成给定字符串的。函数,以实现 KMP 字符串匹配。该函数生成给定字符串的。为了进行 KMP 匹配,首先需要计算字符串。数组,后面实现了计算该数组的函数。,其中#是子串在母串中的位置编号。号位置出现不匹配,就将字符串。的字符进行比对时,若在。原创 2023-01-02 19:07:12 · 956 阅读 · 0 评论 -
educoder数据结构 字符串匹配 第1关:实现朴素的字符串匹配
例如:长字符串是 “string” ,短字符串是 “ring” ,那么短字符串在长字符串中出现的位置是 2 ,即 “ring” 在 “string” 中出现的开始位置是 2。在一个长字符串中寻找一个短字符串出现的位置,这是字符串匹配问题。本关的编程任务是补全 step1/mystr.cpp 文件中的。函数,以实现朴素的字符串匹配。开始你的任务吧,祝你成功!原创 2023-01-02 18:57:43 · 743 阅读 · 0 评论 -
educoder数据结构 计算表达式 第2关:栈的应用 - 计算后缀表达式
在计算后缀表达式的过程中,你可以根据需要调用以上操作。因为表达式的计算结果可能是浮点数,所以这里将栈的数据元素类型设置为了。和中缀表达式的计算一样,后缀表达式的计算也需要用到栈。打印栈中元素:从栈顶到栈底打印各结点数据元素。清空一个栈:将链式栈变为空栈。求栈的长度:获取链式栈的长度。将元素 x 进栈:将 x 进栈,若满栈则无法进栈,返回。释放栈:释放栈所占用的空间。创建栈:创建一个链式栈。函数,以实现计算后缀表达式的功能。为了简化你的实现,假设表达式中的操作数都是一个。判断栈是否为空:若栈为空,则返回。原创 2023-01-02 18:52:44 · 1109 阅读 · 0 评论 -
educoder数据结构 计算表达式 第1关:栈的应用 - 计算中缀表达式
在实现 2)的过程中,可以调用 1)。为了简化你的实现,假设表达式中的操作数都是一个非负的个位数。在计算中缀表达式的过程中,你可以根据需要调用以上操作。因为表达式的计算结果可能是浮点数,所以这里将栈的数据元素类型设置为了。打印栈中元素:从栈顶到栈底打印各结点数据元素。表达式中的操作数都是一个非负的个位数。清空一个栈:将链式栈变为空栈。求栈的长度:获取链式栈的长度。将元素 x 进栈:将 x 进栈,若满栈则无法进栈,返回。释放栈:释放栈所占用的空间。创建栈:创建一个链式栈。函数,以实现计算中缀表达式的功能。原创 2023-01-02 18:50:21 · 994 阅读 · 0 评论 -
educoder数据结构与算法 栈 第2关:实现一个链接存储的栈
输入输出说明: 输入格式: 输入多个操作:如果输入 “push” ,则后面跟一个数 x ,表示 x 进栈;无论入围还是淘汰,都应该有一份超越自我心,挑战自我之心,战胜自我之心,以及一份不甘落后,顽强拼捕的精神。五个操作函数,以实现判断栈是否为空、求栈的长度、进栈、出栈以及获取栈顶元素等功能。五个操作函数,以实现判断栈是否为空、求栈的长度、进栈、出栈以及获取栈顶元素等功能。打印栈中元素:从栈顶到栈底打印各结点数据元素。输出格式: 输出栈的长度,然后从栈顶到栈底依次输出各元素。求栈的长度:获取链式栈的长度。原创 2023-01-02 18:45:22 · 1638 阅读 · 0 评论 -
educoder数据结构与算法 栈 第1关:实现一个顺序存储的栈
输入输出说明: 输入格式: 首先输入一个正整数 max ,创建一个最多可存储 max 个元素的栈。栈是一种运算受限的线性表。如图 1 所示:该栈存储了 4 个元素 {56,77,15,12} ,其中 12 是栈顶元素。五个操作函数,以实现判断栈是否为满、是否为空、求栈元素个数、进栈和出栈等功能。五个操作函数,以实现判断栈是否为满、是否为空、求栈元素个数、进栈和出栈等功能。据此,只要给定指向该结构的一指针 ss ,就可对栈进行进栈出栈操作。这种实现方案将栈元素存储在一片连续的空间中,栈相关的三个属性元素。原创 2023-01-02 18:40:44 · 2194 阅读 · 0 评论 -
educoder数据结构与算法 队列 第2关 实现一个链接存储的队列
输入输出说明: 输入格式: 输入多个操作:如果输入 “in” ,则后面跟一个数 x ,表示 x 入队列;人生,对于我们谁都有许多想法,但由于迟迟没有付诸行动,结果多少光阴过去,却只能停留在计划中,要想拥有成功,就需要赋予人生足够的速度,这是成功者的姿态,也是胜利者的姿态。四个操作函数,以实现判断队列是否为空、求队列长度、队列元素入队和出队等功能。四个操作函数,以实现判断队列是否为空、求队列长度、队列元素入队和出队等功能。:队列元素出队列,若出队成功(队列不为空),则返回。创建队列:创建一个队列。原创 2023-01-02 18:38:24 · 2259 阅读 · 0 评论 -
educoder数据结构与算法 队列 第1关:实现一个顺序存储的队列
输入输出说明: 输入格式: 首先输入一个值 len ,测试程序创建一个可以存储 len 个数据元素的队列。队列的插入和删除被限制在表的两端,即插入操作只能在表的一端进行,而删除操作只能在表的另一端进行,因此队列又称先进先出表。五个操作函数,以实现判断队列是否为空、是否为满、求队列长度、队列元素入队和出队等功能。五个操作函数,以实现判断队列是否为空、是否为满、求队列长度、队列元素入队和出队等功能。人生,最宝贵的莫过于光阴。释放队列空间:释放队列所占用的空间,以删除队列。入队操作:入队操作的前提是队列不为满。原创 2023-01-02 18:34:30 · 1497 阅读 · 1 评论 -
educoder数据结构与算法 线性表 第2关:实现一个链接存储的线性表
后面将定义的若干操作与当前位置有关,例如:在当前位置结点之前插入结点,在当前位置结点之后插入结点,等等。删除线性表当前位置后面的那个数据元素结点: 若删除失败(为空表,或当前位置是表尾),则返回。获取线性表当前位置结点编号: 获取线性表的当前位置结点的编号。修改线性表当前位置数据元素的值: 将线性表的当前位置的数据元素的值修改为。在线性表当前位置之前插入数据元素: 在线性表的当前位置之前插入数据元素。在线性表当前位置之后插入数据元素: 在线性表的当前位置之后插入数据元素。(线性表为空,或当前位置为表尾)。原创 2023-01-02 18:30:43 · 1013 阅读 · 2 评论 -
educoder数据结构与算法 线性表 第1关:实现一个顺序存储的线性表
注意:本关必读中提及的其他操作已经由平台实现,你在实现本关任务的三个操作函数时,在函数体内可调用其他操作。本关的测试文件是 step1/Main.cpp ,负责对实现的代码进行测试。返回被删除的数据元素的值。三个操作函数,以实现线性表中数据的插入、删除与查找等功能。所指向的用于存储线性表数据元素的存储空间。三个操作函数,以实现线性表中数据的插入、删除与查找等功能。个数据元素的顺序存储的线性表,并将其初始状态设置为。的数据元素,返回该数据元素的编号。获取线性表当前长度:获取并返回线性表的当前长度。原创 2023-01-02 18:25:47 · 2354 阅读 · 0 评论