算法/数据结构
文章平均质量分 97
CP3圣保罗
欢迎访问我的个人博客
http://www.lpl520.xn--ses554g/
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【数据结构】思维导图补充知识
图的应用 BDP BFS广度优先遍历(无权图单源最短路径) =队列,层次遍历 =DJ迪杰斯特拉 正权图 单源 最短路径 =Prim最小生成树:优先选点,再找点附近相连的短边,点点相连 DFK DFS深度优先遍历 =栈递归,先序遍历 Floyd 正+负 权图各顶点最短路径 =K克鲁斯卡尔最小生成树:优先选择最短边,短边集合 因为图的生成树不唯一,每条路径加上权值w就可以得到唯一的 最小生成树。 ...原创 2021-11-15 15:53:07 · 2701 阅读 · 0 评论 -
【数据结构】深度优先和广度优先比较
深度优先和广度优先比较 区别: 1) 二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列。 2) 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次。要特别注意的是,二叉树的深度优先遍历比较特殊,可以细分为先序遍历、中序遍历、后序遍历。具体说明如下: 先序遍历:对任一子树,先访问根,然后遍历其左子树,最后遍历其右子树。 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树。 后序遍历:对任一子树,先遍历其左子树,然后遍历其右转载 2020-07-29 18:10:37 · 1631 阅读 · 0 评论 -
【数据结构】单链表基本操作(C++实现)
代码主体使用结构体+类+模板进行实现。 1.LinkList.h //LinkList.h #pragma once #include<iostream> using namespace std; template<class T> struct Node //结点结构 { T data; //结点数据域 Node*link;//指针域 Node() { link = NULL; } Node(T e, Node *next = NULL) { data = e原创 2020-07-04 19:54:29 · 1801 阅读 · 0 评论 -
什么是计数排序?
原文地址 有这样一道排序题:数组里有20个随机数,取值范围为从0到10,要求用最快的速度把这20个整数从小到大进行排序。 第一时间你可能会想使用快速排序,因为快排的时间复杂度只有O(nlogn)。但是这种方法还是不够快,有没有比O(nlogn)更快的排序方法呢?你可能会有疑问:O(nlogn)已经是最快的排序算法了,怎么可能还有更快的排序方法? 让我们先来回顾一下经典的排序算法,无论是归并排序,冒泡排序还是快速排序等等,都是基于元素之间的比较来进行排序的。但是有一种特殊的排序算法叫计数排序,这种排序算法不是转载 2020-05-24 11:10:44 · 367 阅读 · 0 评论 -
一篇文章告诉你如何寻找水王(数组中存在超过一半的数字)
#include<iostream> using namespace std; //case1 排序后返回数组中间的那个数字O nlogn //case2 hash统计 //case3 顺序统计:需要改动数组内容 //case4 消除法:不需要改变数组 int Remove(int a[],int n) { int candidate = a[0];//候选数 int coun...原创 2020-03-12 14:28:58 · 171 阅读 · 0 评论 -
一篇文章快速搞懂排序算法(含实现源码)
十大排序算法函数声明 时间复杂度表 主函数 #include<iostream> using namespace std; void BubbleSort(int length, int array[]);//冒泡排序 void SelectSort(int length, int array[]);//选择排序 void InsertSort(int length, int a...原创 2020-03-09 16:48:10 · 376 阅读 · 0 评论 -
快速排序算法实现:单向扫描法&&双向扫描法&&三分法(有相同元素)
单向指针扫描 void Swap(int i, int j, int array[])//交换数组内两个元素 { int temp; temp = array[i]; array[i] = array[j]; array[j] = temp; } void QuickSort(int begin, int end, int array[])//快速排序 { if (beg...原创 2020-03-06 16:53:45 · 1078 阅读 · 0 评论 -
关于排序算法思想总结,你该了解这些
算法图解链接: https://blog.csdn.net/u012562943/article/details/100136531 一,直接插入排序 总体思路:位于表中后面的元素依次与表中前面的元素比较,若比之小,则还需继续和更前面的元素比较,直至遇到一个比它大的元素或者比较到第一个元素(哨兵)了。 ①先将第一个元素视为有序,第二个元素与第一个元素比较,若...原创 2020-03-01 15:34:02 · 461 阅读 · 0 评论 -
一篇文章快速搞懂十大排序算法(C++实现源码)
十大排序实现 #include<iostream> using namespace std; void BubbleSort(int length, int array[]);//冒泡排序 void SelectSort(int length, int array[]);//选择排序 void InsertSort(int length, int array[]);//插入排序 v...原创 2020-02-28 15:38:47 · 272 阅读 · 0 评论
分享