数据结构
文章平均质量分 91
cbdgz
这个作者很懒,什么都没留下…
展开
-
【堆排|快排】Top-k问题
【堆排|快排】Top-k问题引言两种算法原理大顶堆/小顶堆构造流程:大顶堆的排序流程Golang利用大顶堆算法实现top-k算法快速选择(快排变形)Golang利用大顶堆算法实现top-k算法引言决解top-k问题一般有:堆和快排两种思路两种算法的优劣如下:快速排序算法的时间、空间复杂度都优于堆排序算法但是快速排序算法需要修改原数组,如果原来的数组不能修改的话,还需要拷贝一份数组,造成空间复杂度升高快速排序算法需要保存所有数据后才能选出top-k。如果把数据看成输入流的话,使用堆方法则是原创 2022-05-27 14:59:19 · 847 阅读 · 0 评论 -
【广州大学】数据结构课程设计:神秘国度的爱情故事
数据结构课程设计报告广州大学 计算机科学与网络工程学院计算机系 19级网络工程专业网络194班超级菜狗(学号:19062000)(班内序号:xxx)完成时间:2021年1月11日一.课程设计目的数据结构课程设计是计算机类专业的工程基础课。课程设计的主要内容包括线性表、栈与队列、树、图等经典的数据结构实现,以及排序、查找等经典算法的设计与实现。该门课程设计主要培养学生软件开发的基本能力,包括基本数据结构的设计与实现能力,基本算法的设计、编程与调试能力,...原创 2021-03-16 14:39:24 · 2519 阅读 · 2 评论 -
二路归并排序
二路归并排序二路归并排序主要运用了“分治算法”,分治算法就是将一个大的问题划分为n个规模较小而结构相似的子问题。这些子问题解决的方法都是类似的,解决掉这些小的问题之后,归并子问题的结果,就得到了“大”问题的解。二路归并排序主旨是“分解”与“归并”分解:1.将一个数组分成两个数组,分别对两个数组进行排序。2.循环第一步,直到划分出来的“小数组”只包含一个元素,只有一个元素的数组默认为已经排好序。归并:1.将两个有序的数组合并到一个大的数组中。2.从最小的只包含一个元素的数组开始两两合并。此时转载 2020-12-30 17:35:10 · 694 阅读 · 0 评论 -
[数据结构] BFS算法实现层序遍历输出一颗二叉树
题目描述给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)例如:给定的二叉树是{3,9,20,#,#,15,7},该二叉树层序遍历的结果是[[3],[9,20],[15,7]]示例1思路: 在数据结构中BFS遍历序列和层序遍历序列一致故可以用BFS算法实现层序遍历。基本思想是,先让头节点入队,然后再其出队之后将其左右孩子入队,就是在每一个结点出队时随即让其左右孩子入队,这样可以保证队列中的元素个数总与该层的结点数一致。/** * struct TreeNo原创 2020-12-25 00:47:26 · 448 阅读 · 0 评论 -
[数据结构] 图DFS和BFS遍历算法
[数据结构] 图DFS和BFS遍历算法这里简单的用递归算法实现DFS算法;利用队列简单实现BFS算法DFS算法实现图的邻接矩阵的遍历原理很简单,先用一个数组标记已经访问过的结点,并且依次递归访问每一个顶点的邻接点直到所有顶点都被访问过为止。因为在访问每一个顶点时顺便把其编号输出,所有最后得到的就是这整个图的DFS遍历序列。int Visist[MAX]={0};//定义全局变量观察每一个被访问过的结点static int _count=0;//记录DFS的输出次数void DFS(G原创 2020-12-20 15:19:43 · 973 阅读 · 0 评论 -
(语言:C++)求迷宫最短路径问题
(语言:C++)求迷宫最短路径问题以该迷宫位例子求点(1,1)到点(3,2)的最短路径1, 1, 1, 1, 1, 1, 1, 1, 1, 11, 0, 0, 1, 0, 0, 0, 1, 0, 11, 0, 0, 1, 0, 0, 0, 1, 0, 11, 0, 0, 0, 0, 1, 1, 0, 0, 11, 0, 1, 1, 1, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 11, 0, 1, 0, 0, 0, 1, 0, 0, 11, 0, 0,原创 2020-11-16 22:20:11 · 978 阅读 · 0 评论