数据结构与算法
文章平均质量分 51
根据严蔚敏《数据结构》进行的所有数据结构的实现,以及部分课后算法题。
东洋 Dongyang
人一能之,己百之,人十能之,己千之。从未成功过,也从未放弃过。
展开
-
PAT (Basic Level) Practice 1055 集体照 Python解法
目录一、题目二、输入输出三、样例四、题目分析五、Python代码 一、题目 拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下: 1.每排人数为 N/K(向下取整),多出来的人全部站在最后一排; 后排所有人的个子都不比前排任何人矮; 2.每排中最高者站中间(中间位置为 m/2+1,其中 m 为该排人数,除法向下取整); 3.每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、188、186、175、170,则队形为175、188、190、1原创 2021-05-03 16:34:37 · 327 阅读 · 0 评论 -
PAT (Basic Level) Practice1004成绩排名Python解法
目录一、题目二、输入输出三、样例四、题目分析五、Python代码 一、题目 读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 二、输入输出 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的姓名 学号 成绩 第 3 行:第 2 个学生的姓名 学号 成绩 … … … 第 n+1 行:第 n 个学生的姓名 学号 成绩 其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用原创 2021-05-03 09:59:37 · 216 阅读 · 0 评论 -
数据结构与算法之树和二叉树(一):二叉树基本操作的实现及应用
一.二叉树的基本操作实现 1.二叉树存储结构 二叉树可以用顺序表(完全二叉树比较适合)存储,也可以用链式结构(二叉链表)存储,其数据结构表示如下: 抽象出来就是这样: 2.二叉树遍历 二叉树遍历根据结点间遍历顺序可分为先序、中序、后序三种方式, 遍历有递归和非递归两种写法;如图为先序遍历的二叉树及其抽象树状图: 3.完全二叉树定义及其实现 以下为完全二叉树和其他二叉树的直观对比: 4.代码实现(所有代码均在Embarcadero DevC++6.0和VSCode 2021上编译运行通过): #d原创 2021-02-11 11:38:57 · 1147 阅读 · 0 评论 -
数据结构与算法之线性表(六):顺序队列及循环队列的实现和应用
数据结构与算法之线性表(六):循序队列及循环队列的实现和应用 一.对顺序队列和循环队列的理解: 顺序队列: 用一组地址连续的存储单元依次存储从队头到队尾的数据元素就是顺序队列,和顺序表的存储差不多,两种数据结构区别就在于顺序队列(循环队列也如此)空间占满时不再额外给元素分配空间,顺序表会顺延额外分配一个,表长加一; 循环队列: 在顺序队列基础上,对MAXSIZE总队长进行取余,使得首尾指针可以循环右移,增加了便捷性; 以下是循环队列基本操作实现(所有代码均在Embarcadero DevC++6.0和VSC原创 2021-02-10 00:06:30 · 285 阅读 · 0 评论 -
数据结构与算法之线性表(五):链式队列的实现和应用
一.链式队列基本操作实现(所有代码均在Embarcadero DevC++6.0和VSCode 2021上编译运行通过) #include<stdio.h> #include<stdlib.h> #define QElemType int #define Status int #define OVERFLOW -1 #define OK 1 #define ERROR 0 #define TRUE原创 2021-02-09 14:38:42 · 147 阅读 · 0 评论 -
数据结构与算法之线性表(四):链式栈的实现和应用
一.链式栈基本操作实现(所有代码均在Embarcadero DevC++6.0和VSCode 2021上编译运行通过) #include<stdio.h> #include<stdlib.h> #define SElemType int #define Status int #define OVERFLOW -1 #define OK 1 #define ERROR 0 #define TRUE原创 2021-02-08 15:30:03 · 136 阅读 · 0 评论 -
数据结构与算法之线性表(三):顺序栈的实现和应用
一.顺序栈基本操作实现(所有代码均在Embarcadero DevC++6.0和VSCode 2021上编译运行通过) #include<stdio.h> #include<stdlib.h> #include<iostream> #define SElemType int #define Status int #define STACK_INIT_SIZE 100 //顺序栈总初始分配量 #define STACKINCREMENT 10 //顺序栈间隔量 #原创 2021-02-07 11:09:27 · 179 阅读 · 0 评论 -
数据结构与算法之线性表(二):链式表的实现和应用
数据结构之线性表(二):链式表的实现和应用 一.链式表基本操作实现(所有代码均在Embarcadero DevC++6.0和VSCode 2021上编译运行通过): #include<stdio.h> #include<stdlib.h> #define ElemType int #define LIST_INIT_SIZE 100 //顺序表总初始分配量 #define LISTINCREMENT 10 //顺序表间隔量 #define OVERFLOW -1原创 2021-02-06 20:46:58 · 272 阅读 · 0 评论