算法与数据结构
文章平均质量分 51
喝水怪~
编程初级水平,喜欢篮球、唱歌、手表、钓鱼、健身…
展开
-
链式优先级队列
链式优先级队列标签(空格分隔): 数据结构、优先级队列一、优先级队列的应用场合线程池 - 由一个任务队列和一组处理队列的线程组成。一旦工作进程需要处理某个可能“阻塞”的 操作,不用自己操作,将其作为一个任务放到线程池的队列,接着会被某个空闲线程提取处理,这里的任务紧急情况各不相同,可以用优先级队列来存储这些任务。二、链式优先级队列#include <iostream>#include <Windows.h>#include <time.h>using n原创 2021-10-18 17:09:55 · 325 阅读 · 0 评论 -
排序算法总结
排序算法总结标签(空格分隔): 排序算法1、选择排序#define DATATYPE intvoid swap(DATATYPE* a, DATATYPE* b) { DATATYPE temp; temp = *b; *b = *a; *a = temp;}//选择排序void selectSorted(DATATYPE a[], int length){ assert(a != NULL); int max; for (int i = 0; i < length原创 2021-10-09 22:50:27 · 107 阅读 · 1 评论 -
栈解决迷宫求解问题
栈解决迷宫求解问题标签(空格分隔): 栈、回溯算法一、引入找迷宫通路需要使用回溯法,找迷宫通路是对回溯法的一个很好的应用,实现回溯的过程用到数据结构—栈!回溯法:对一个包括有很多个结点,每个结点有若干个搜索分支的问题,把原问题分解为若干个子问题求解的 算法;当搜索到某个结点发现无法再继续搜索下去时,就让搜索过程回溯(回退)到该节点的前一个结点,继续 搜索该节点外的其他尚未搜索的分支;如果发现该结点无法再搜索下去,就让搜索过程回溯到这个结点的前一 结点继续这样的搜索过程;这样的搜索过程一直进原创 2021-09-05 23:39:33 · 743 阅读 · 0 评论 -
排序算法:堆排序
排序算法:堆排序标签(空格分隔): 选择排序、堆排序一、堆的特点(分为最大堆和最小堆,这里以最大堆说明)每个节点最多可以有两个节点根节点的键值是所有堆节点键值最大者,且每个节点的值都比其孩子节点大除了根节点没有兄弟节点,最后一个左子节点可以没有兄弟节点,其他节点必须要有兄弟节点二、堆排序堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特 点快速定位指定索引的元素.(选择排序工作原理 - 第一次从待排序的数据元素中选出最小(或最大原创 2021-09-04 10:12:32 · 252 阅读 · 0 评论