数据结构
文章平均质量分 69
瀛台夜雪
这个作者很懒,什么都没留下…
展开
-
十大排序(总结+算法实现)
十大排序算法原理和实现,冒泡排序,选择排序,插入排序,希尔排序,归并排序,快速排序,堆排序(最大堆),计数排序,桶排序,基数排序原创 2022-11-25 11:03:46 · 2805 阅读 · 0 评论 -
快速排序的一些典型算法
快速排序的一些典型算法,双路快排,三路快排原创 2022-08-10 11:41:43 · 66 阅读 · 0 评论 -
C++层序建立二叉树和程序遍历
C++层序建立二叉树,C++层序遍历,队列,力扣的树输入样本原创 2022-07-04 19:27:29 · 516 阅读 · 0 评论 -
二叉搜索树的创建,查找,添加,删除操作
二叉搜索树的创建,查找,添加,删除操作原创 2022-07-01 09:10:35 · 187 阅读 · 0 评论 -
约瑟夫环问题
约瑟夫环问题,循环链表,单链表原创 2022-05-11 19:52:20 · 895 阅读 · 0 评论 -
力扣3无重复字符的最大字串
无重复字符的最大字串 哈希表操作原创 2022-05-01 22:10:56 · 186 阅读 · 0 评论 -
两数相加(链表的简单应用)
Leetcode 热门第二题 两数相加 链表的加法运算 链表操作 单链表原创 2022-04-30 22:29:39 · 626 阅读 · 0 评论 -
单链表的基本概念和基本操作
单链表的基本概念和基本操作,链表创建,删除,添加,遍历输出,前插,尾插原创 2022-04-27 15:53:57 · 209 阅读 · 0 评论 -
排序算法_冒泡排序_选择排序_插入排序_希尔排序_堆排序_归并排序_快速排序
数据结构,排序基本算法原理和代码原创 2022-01-06 16:26:50 · 1012 阅读 · 0 评论 -
数据结构(查找操作_顺序表查找_线性索引查找_有序表查找_二叉排序树_平衡二叉树_B树_哈希表)
查找曾经很多时候我都在抱怨生活是个贱人但现在我明白了并不是这样的生活不是个贱人而是个婊子它不仅让你烦还会用它的多姿多彩勾着你的欲望但又让你得不到它查找概述查找表:是由同一类型的数据元素(或记录)构成的集合关键字:数据元素中某个数据项的值,又称键值。用它可以标志一个数据元素,也可以标记一个记录的某个数据项(字段),称为关键码主关键字:如果此关键字可以唯一地标志一个记录->对不同的记录,其主关键字均不相同。主关键字所在的数据项称为主关键码。次关键字:可以识别多个数据元素(原创 2021-12-16 10:56:46 · 1451 阅读 · 0 评论 -
PTA_23_08_图9 _关键活动
PTA 关键路径原创 2021-12-14 10:42:58 · 84 阅读 · 0 评论 -
PTA_22_08_图8 _How Long Does It take
PTA_22_08_图8 _How Long Does It take题目描述Given the relations of all the activities of a project, you are supposed to find the earliest completion time of the project.考虑到一个项目所有活动的关系,你应该找到项目最早的完成时间。输入格式Each input file contains one test case. Each case原创 2021-12-13 15:23:28 · 70 阅读 · 0 评论 -
PTA_21_08_图7 _公路村村通
PTA_21_08_图7 _公路村村通题目描述现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。输入格式输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及该道路改建的预算成本。为简单起见,城镇从1到N编号。6 151 2 51 3 31 4 71 5 41 6 22 3 42 4 62 5 22 6 63原创 2021-12-13 11:42:30 · 216 阅读 · 0 评论 -
PTA_20_07_图6 _旅游规划
PTA_20_07_图6 _旅游规划题目描述有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0~(N−1);M是高速公路的条数;S是出发地的城市编号;D是目的地的城市编号。随后的M行中,每行给出一条高速公路的信息,分原创 2021-12-12 15:25:05 · 82 阅读 · 0 评论 -
PTA_19 _07-图5 Saving James Bond - Hard Version
图_19 _07-图5 Saving James Bond - Hard Version题目描述This time let us consider the situation in the movie “Live and Let Die” in which James Bond, the world’s most famous spy, was captured by a group of drug dealers. He was sent to a small piece of land at the原创 2021-12-11 16:21:11 · 181 阅读 · 0 评论 -
PTA_18_07_图4 _哈利·波特的考试
PTA_18_07_图4 _哈利·波特的考试题目描述:哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。现在哈利·波特的手里有一本教材,里面列出了所有的变形魔咒和能变的动物。老师允许他自己带一只动物去考场原创 2021-12-11 11:52:02 · 66 阅读 · 0 评论 -
PTA_17_06_图3 _六度空间
PTA_17_06_图3 _六度空间题目描述:“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。然而由于历史的原因,这样的研究具有太大的局限性和困难。随着当代人的联络主要依赖于电话、短信、微信以原创 2021-12-09 15:00:52 · 95 阅读 · 0 评论 -
PTA_16_05_图2 _Saving _James _Bond _Easy _Version
PTA_16_05_图2 _Saving _James _Bond _Easy _Version题目分析:This time let us consider the situation in the movie “Live and Let Die” in which James Bond, the world’s most famous spy, was captured by a group of drug dealers. He was sent to a small piece of land原创 2021-12-08 23:16:01 · 64 阅读 · 0 评论 -
PTA_15_06_图1 _列出连通集
PTA15_06_图1 _列出连通集题目描述:给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。8 6//N E0 70 12 04 12 43 5输出格式按照"{ v1 v2 … v**k }"的格式,原创 2021-12-08 20:23:25 · 123 阅读 · 0 评论 -
数据结构—图(简要理解)
图本文前半部分参考的是浙大MOOC上陈越老师说讲解,但听到后面一半,觉得有点晦涩难懂,便去看了《大话数据结构》,因此后面的主要内容也是大多参考这本书,除了最后一节的关键路径算法,有点搞不太懂,其他的总算让我有了浅显的了解了。说实话,数据结构实在是太难啃了,书本上讲的所以然,还得靠多刷题,多做实验来解决。什么是图多对多线性表,树都是图的特殊情况包含:一组顶点,通常用V(Vertex)表示顶点集合一组边,通常用E(Edge)表示边的集合边是顶点对,(v,w),可以互通有向边,<v,w原创 2021-12-08 14:04:47 · 634 阅读 · 1 评论 -
PTA_07_03_树2_list leaves(详细讲解)
PTA_07_03_树2_list leavesGiven a tree, you are supposed to list all the leaves in the order of top down, and left to right.给定一棵树,你应该按照从上到下,从左到右的顺序列出所有的叶子。输入规格Each input file contains one test case. For each case, the first line gives a positive intege原创 2021-10-13 15:59:30 · 354 阅读 · 0 评论 -
pta_06_树 _ 树的同构
03_树 _ 树的同构题目描述给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K8WTy39N-1634046337703)(C:\Users\admin\Desktop\1.JPG)]现给定两棵树,请你判断它们是否是同构的。输入格式输入给出2棵二叉原创 2021-10-12 21:49:11 · 135 阅读 · 0 评论 -
堆(heap)与哈夫曼树(数据结构浙大mooc《树下》)
堆(heap)优先队列:特殊的队列,取出元素的顺序是按照元素的优先权(关键字)大小,而不是元素进入队列的先后顺序采用数组或链表实现优先队列数组:插入,元素总是插入尾部 O(1)删除,查找最大(或最小)关键字O(n),从数组中删去需要移动元素O(n)链表插入,元素总是插入链表的头部 O(1)删除,查找最大(或最小)关键字O(n),删去结点 O(1)有序数组插入,找到合适的位置O(n)或O(log2(n)),移动元素并插入删除,删去最后一个元素O(1)用二叉树进行存储采用二原创 2021-10-10 21:28:49 · 414 阅读 · 0 评论 -
二叉搜索树(BST)和平衡二叉树(AVL树)的概念与理解
树的典型应用二叉搜索树静态查找:所查找集合的元素时不动的,在一个集合上主要做的便是find操作,而没有delete一个映射的操作方法:二分查找,将要查找的数据事先的有序化动态查找:所查找对象会发生变化,经常要发生插入,删除操作书上的任意的一个结点他的值比左子树的值都要来的大,比右子树的值都要小,查找过程便成为了对当前结点的判断。二叉搜索树(BST)—二叉排序树/二叉查找树一颗二叉树,可以为空,如果不为空需满足非空左子树的所有键值小于其根结点的键值非空右子树的所有键值大于其根结点的键值原创 2021-10-02 12:43:22 · 546 阅读 · 0 评论 -
树与二叉树的解析与实例
树what`s 树客观世界中许多事物存在层次关系分层次组织再管理上具有更高对的效率层次管理(树)查找静态查找:集合中记录是固定的没有插入和删除操作,只有查找查字典动态查找:集合中记录是动态变化的除查找外,还可能发生插入或删除静态查找方法1:顺序查找数据从1开始存储哨兵,可以在数组的边界设一个值,无需在每一个循环都判断条件#include <stdio.h>#include <stdlib.h>#include<iostr原创 2021-09-25 20:02:28 · 242 阅读 · 0 评论 -
PTA_02线性结构2 一元多项式的乘法与加法运算
PTA_02_线性结构2_ 一元多项式的乘法与加法运算问题:设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4 3 1/原创 2021-09-22 12:22:45 · 1510 阅读 · 1 评论 -
pta_02_线性结构4_Pop_Sequence
pta_02_线性结构4_Pop_Sequence题目内容Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, …, N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the stack. For example, if M原创 2021-09-22 09:53:53 · 322 阅读 · 0 评论 -
pta_线性结构3_Reversing_Linked_List
pta_线性结构3_Reversing_Linked_List题目描述:Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K=3, then you must output 3→2→1→6→5→4; if K=4, you must output 4原创 2021-09-19 09:51:27 · 170 阅读 · 0 评论 -
MOOC_浙大数据结构_线性表,堆栈,队列的(顺序存储与链式存储)
线性表数据结构中最常见的方法:数组存储/链表存储线性表,由同类型数据元素构成的有序序列的线性结构特点:表中元素的个数—线性表的长度表中没有元素时—空表表起始的位置—表头表结束的位置—表尾数据对象集:线性表时由n个元素组成的有序序列主要操作:初始化空表查找位序查找初次出现位置在位序前插入新元素删除指定位序的元素返回表的长度线性表顺序存储:利用数组的连续存储空间顺序存放线性表的各元素#include<stdio.h>#include<iostrea原创 2021-09-14 16:25:29 · 188 阅读 · 0 评论