数据结构与算法
文章平均质量分 68
D___
什么时候能有靠谱副业
展开
-
BFS和DFS及例子
BFS:广度优先搜索一般用队列实现DFS:深度优先搜索一般用栈来实现(图摘自b站up主:正月点灯笼,具体算法细节可看其视频)实例该题可用深度搜索 和 广度搜索做。深度搜索DFS用的是栈,所以直接用递归就可以了,用的系统栈 /** * 判断岛屿数量 * @param grid char字符型二维数组 * @return int整型 1 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 1原创 2021-02-25 22:37:23 · 224 阅读 · 0 评论 -
关于java中的Queue、Deque、PriorityQueue
数据结构中的队列了解以下,"先进先出"是队列的最大的特点,也就是只能在头部访问一个元素,在尾部添加一个元素。还有一种叫做双端队列。可以有效地在头部和尾部同时添加或删除元 素。 不支持在队列中间添加元素。在 JDK6 中引人了 Deque 接口, 并由 ArrayDeque 和 LinkedList 类实现。这两个类都提供了双端队列, 而且在必要时可以增加队列的长度。在并发包下还提供了有限队列和有限双端队列。(虚线为实现 实线为继承)1.Queue和 Deque 都是接口,Deque(双端队列)继承Q原创 2021-02-25 17:18:33 · 376 阅读 · 0 评论 -
Hash映射理解
先说数组,数组优点之一:能通过索引很快定位到值,hashmap 就是利用了数组这个优点。对比: 线性映射:定义一个数组 ,数组的元素是结构体,结构体包括 一对键,值。 伪代码表示 a[0] = struct{ "Bill" ,5} ,a[1] = struct{ "KK" ,6} ...原创 2020-04-27 11:29:22 · 463 阅读 · 0 评论 -
C_means(C均值聚类)算法 c++递归实现
Clion 编写 注意问题 :动态内存一:C-MEANS1.算法程序( c++):C_means.h文件://#ifndef UNTITLED_C_MEANS_H#define UNTITLED_C_MEANS_H#define DATANUM 178 //178个数据样本#define DATAATTRIBUT...原创 2020-04-06 21:08:04 · 1571 阅读 · 0 评论 -
归并选择算法
图解:归并选择.缺点,需要双倍数据内存,因为有个临时变量.特点:不管数据奇数个还是偶数个 归并过程都为偶数个过程 图示四个过程.函数:两列排好序的数据 归并为一列,这边称为归并数,图中每两个红箭头归并为一个归并次数 共有9个归并次数,两次复制void Merge(T *initList,T *mergeList, const int l ,const int m, const...原创 2020-03-21 19:21:50 · 170 阅读 · 0 评论