E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
算法基础--排序算法
对链表进行插入排序(C语言实现)
插入
排序算法
:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所
tangke121
·
2023-11-10 09:43
经典题型
C语言
数据结构
链表
数据结构
插入排序
算法
c语言
排序算法
——直接插入排序(图解+代码)
文章目录直接插入排序1.从前往后比较1.1图解直接插入排序1.2C语言实现2.从后往前比较2.1图解直接插入排序2.2C语言实现直接插入排序遍历数组进行比较,移动其他数据位置,直接插入。从小到大进行排序时间复杂度O(n2)如果数组本身有序,则时间复杂度降为O(n)空间复杂度O(1),稳定1.从前往后比较1、遍历数组,arr[i]从第二个数字到最后一个数字。2、首先定义tmp保存arr[i]的值,避
执行x
·
2023-11-10 09:09
排序算法
算法
数据结构
直接插入排序+希尔排序(C语言实现)
本篇文章我将向大家介绍两种插入
排序算法
:直接插入排序和希尔排序。其中直接插入排序是一种比较基础的排序方法,较容易理解,但是效率不高。
折木`
·
2023-11-10 09:07
数据结构
数据结构
排序算法
c语言
简单选择排序(c语言代码实现)
选择排序:简单选择排序(不稳定的排序)简单选择排序是一种基础的
排序算法
,它的基本思路是在未排序的序列中选择最小(或最大)的元素,将其与序列的第一个元素进行交换,然后在剩余的未排序序列中继续使用同样的方式进行选择和交换
认真敲代码的小火龙
·
2023-11-10 09:36
排序
算法
数据结构
c语言
冒泡、选择、插入
排序算法
(c语言)实现
几种常见
排序算法
的实现一、冒泡排序1.百度百科冒泡排序(BubbleSort),是一种计算机科学领域的较简单的
排序算法
。
轻舟 /
·
2023-11-10 09:36
数据结构
算法
排序算法
插入排序与Shell排序(图解+代码实例)
排序算法
在编写代码的过程当中应用十分广泛,作用非常重要。它的作用就是将一个排序混乱的序列按照一定的规则排列有序。下面一张图基本可以清晰的表示
排序算法
的分类。
Frank-Hu
·
2023-11-10 09:04
C语言
算法
排序算法
数据结构
算法
c语言
数据结构 排序 (图解+C语言)
10000个以上各种排序的统一函数名规范:voidX_Sort(ElementTypeA[],intN);排序名称待排元素数组大小放在数组里元素类型包括所有能排大小的数据结构,比如数字,字符串等等,都可以用
排序算法
鸿雁丨红豆灬
·
2023-11-10 09:33
学习笔记之数据结构
数据结构
排序算法
c语言
php冒泡算法实现倒序和正序排列
冒泡排序是一种简单的
排序算法
,其主要思想是比较相邻的两个元素,根据需要交换位置,将较大(或较小)的元素逐渐冒泡到数组的一端,从而实现排序。
PHP隔壁老王邻居
·
2023-11-10 08:34
乱七八糟
php
算法
开发语言
php
笔记
后端
数据结构之排序
假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种
排序算法
是稳定的
萤火夜
·
2023-11-10 02:53
排序算法
算法
数据结构
C语言
排序算法
-冒泡、选择、插入、希尔、堆、归并、快速、拓扑
目录结构排序要用到的结构和函数Prelimitation.h#ifndefSORT_PRELIMITATION_H#defineSORT_PRELIMITATION_H#defineMAXSIZE10//用于要排序数组个数最大值typedefstruct{intr[MAXSIZE];//用于存储要排序数组,r[0]可当做临时变量intlength;//用于记录顺序表的长度}SqList;/***交
早知道不学Java了
·
2023-11-10 01:24
C语言
排序算法
算法
算法
c语言
排序算法
七大
排序算法
,冒泡排序 选择排序 插入排序 希尔排序 堆排序 快速排序 归并排序的深度讲解
目录排序:冒泡排序:冒泡排序的思路:我们根据思路进行冒泡排序的时间复杂度的分析:代码实现:选择排序:选择排序的思路:选择排序的复杂度分析:代码实现:插入排序:插入排序的复杂度分析:代码实现:希尔排序:希尔排序的复杂度分析:代码实现:堆排序:堆排序的复杂度分析:代码实现:快速排序:1、hoare法代码:2、挖坑法:代码:前后指针法:代码:快速排序的复杂度分析:快速排序的优化方案:三位取中:趋于有序时
sekiro&mikasa
·
2023-11-10 01:52
java
算法
排序算法
算法
数据结构
java
归并排序详解
目录一.归并排序介绍二.归并
排序算法
的特点三.归并算法的实现介绍一.归并排序介绍归并排序是建立在归并操作上的一种有效,稳定的
排序算法
,该算法是采用分治法的一个非常典型的应用。
疏 石 兰 兮
·
2023-11-10 01:24
排序算法
算法
数据结构
归并排序 和 逆序对 联动
归并排序(MergeSort)是一种经典的分而治之(DivideandConquer)
排序算法
,常被用于对数组或列表进行排序。
wniuniu_
·
2023-11-10 00:31
c++
算法
排序算法
算法
数据结构
[Acwing
算法基础
课]3.搜索与图论(一)笔记
文章目录一、DFS和BFS1.1DFS1.2BFS1.3图的存储方式与遍历1.4有向图的拓扑序列二、最短路径问题2.1朴素Dijkstra算法2.2堆优化版的Dijkstra算法2.3Bellman-Ford算法2.4SPFA算法2.4.1SPFA算法求最短路径2.4.2SPFA算法判断负环2.5Floyd算法一、DFS和BFS数据结构空间备注DFSstackO(h)O(h)O(h)(树的高度相关
sx失去理智
·
2023-11-10 00:28
Acwing算法基础课笔记
算法
图论
深度优先
acwing
算法基础
课-第三章 搜索与图论
搜索与图论数与图的存储方式DFSAcWing842排列问题AcWing843n-皇后问题BFSAcWing844走迷宫AcWing845八数码树与图的深度优先遍历模板AcWing846树的重心(模板题)树与图的广度优先遍历模板AcWing847图中点的层次(模板题)拓扑排序模板AcWing848有向图的拓扑序列(模板题)最短路径Dijkstra模板AcWing849Dijkstra求最短路径I(模
偶然路过的帅小伙z
·
2023-11-10 00:58
#
算法
-
acwing算法基础课
图论
算法
acwing
算法基础
课第三讲搜索与图论复习总结
最近备考蓝桥杯,准备把之前
算法基础
课题目都复习一遍,冲(*^▽^*)1.排列数字这里的排列数字排列的是组合数通过深度优先搜索来做st[]数组判断每个数字是否使用过(因为组合数排列,每个数字只能用一次)深度优先搜索的题目可以先画出递归搜索树依据枚举到了哪个位置来进行搜索
~.q快乐(^_^ )
·
2023-11-10 00:58
算法
图论
深度优先
Acwing
算法基础
课-搜索与图论-模板习题
目录一、DFS1.排列数字2.n-皇后问题二、BFS1.走迷宫2.八数码二、树与图的深度优先遍历DFS树的重心三、树与图的广度优先遍历BFS图中点的层次四、拓扑排序有向图的拓扑序列五、Dijkstra1.Dijkstra求最短路I(朴素)2.Dijkstra求最短路II(堆优化)六、bellman-ford有边数限制的最短路七、spfa1.spfa求最短路2.spfa判断负环八、FloydFloy
Yang 丶。
·
2023-11-10 00:57
c++
c语言
算法
推荐算法
[ACWing
算法基础
课]:第三章 - 搜索与图论基础
文章目录一、拓扑排序二、求最短路1.Dijkstra算法★1.1朴素Dijkstra算法O(n^2^)1.2堆优化的Dijkstra算法O(mlogn)★2.Bellman-Ford算法3.SPFA算法★3.1SPFA求最短路3.2SPFA判断负环一、拓扑排序题目描述:输入43122434输出1324C++代码如下#include#include#include#includeusingnames
TBD1
·
2023-11-10 00:57
ACWing算法基础
图论
算法
c++
数据结构
AcWing
算法基础
课----搜索与图论(三) 笔记 (最小生成树 + 二分图)
搜索与图论最小生成树1.朴素版prim算法(稠密图)O(n^2)2.Kruskal算法(稀疏图)O(mlogm)二分图1.染色法判别二分图O(n+m)2.匈牙利算法O(nm)图论题难点:如何抽象成图论问题并实现建图最小生成树☆无环★1.朴素版prim算法(稠密图)O(n^2)s:当前已在连通块中最短距离的点算法思路:初始化距离dist[i]=infn次迭代for(inti=0;idist[j]))
彡倾灬染|
·
2023-11-10 00:57
AcWing
算法学习笔记
图
c++
c语言
AcWing
算法基础
课-第三章 搜索与图论(一)
0、本节所讲内容1、深度优先搜索(DFS)2、宽度优先搜索(BFS)3、树与图的存储4、树与图的深度优先遍历5、树与图的宽度优先遍历6、拓扑排序一、深度优先搜索(DFS)深搜尽可能的往深里边搜这里有两个概念:回溯和剪枝讲两个经典题:全排列问题和N皇后问题。1、全排列问题原题链接:842.排列数字#includeusingnamespacestd;constintN=10;intn;intpath[
cBreakALeg
·
2023-11-10 00:56
算法
AcWing
算法基础
课 Level-2 第三讲 搜索与图论
单链表#includeusingnamespacestd;constintN=1e5+10;//head表示头结点的下标//e[i]表示节点i的值//ne[i]表示节点i的next指针是多少//idx存储当前已经用到了哪个点inthead,e[N],ne[N],idx;//初始化voidinit(){head=-1;idx=0;}//将x插到头结点voidadd_to_head(intx){e[i
5pace
·
2023-11-10 00:26
算法
数据结构
c++
(Acwing
算法基础
课)——图论之朴素迪杰斯特拉算法
图论之朴素迪杰斯特拉1.原题地址之前自己蓝桥杯拿到省二第一名,非常遗憾没有进入决赛的原因就是图论的两个题目一个都不会写,因为自己但是做完了往前十年的题目,省赛都是没有考过图论的,所以我当时打算的就是进入决赛之后再学习图论,没想今年蓝桥杯的题目风格大变,让我措手不及,也酿成了我大三最大的遗憾,所以我打算再准备一年,反正保研了大四会轻松些,我一定要拿到国奖!附上Acwing上的该题链接:Acwing8
大风起兮x
·
2023-11-09 23:54
Acwing算法基础课
算法
图论
数据结构
【AcWing
算法基础
课】第三章 搜索与图论
文章目录前言课前温习一、深度优先搜索(DFS)1、排列数字1.1题目描述1.2思路分析1.3代码实现2、n-皇后问题1.4题目描述1.5思路分析1.6代码实现二、宽度优先搜索(BFS)1、走迷宫2.1题目描述2.2思路分析2.3代码实现三、树与图的存储四、树与图的遍历1、深度优先遍历(846.树的重心)核心模板4.1题目描述4.2思路分析4.3代码实现2、宽度优先遍历(847.图中点的层次)核心模
-dzk-
·
2023-11-09 23:54
算法基础课笔记
算法
图论
深度优先
最短路算法
数据结构
c++
最小生成树
acwing
算法基础
笔记第三章搜索与图论
BFS第一次搜到的点一定是离第一个点最近的点,每个DFS都一定对应一条搜索树,#includeusingnamespacestd;constintN=10;intn;intpath[N];//path存储路径,到叶节点的时候,就填好路径上的点了,u等于0的时候在第一层,u为1为第二层,u为2在第三层,u等于3的时候是最后一层。所以u==n的时候是最后一层boolst[N];voiddfs(intu
一只QAQ
·
2023-11-09 23:53
算法
图论
笔记
acwing
算法基础
之搜索与图论--树与图的遍历
目录1基础知识2模板3工程化1基础知识树和图的存储:邻接矩阵、邻接表。树和图的遍历:dfs、bfs。2模板树是一种特殊的图(即,无环连通图),与图的存储方式相同。对于无向图中的边ab,存储两条有向边a->b,b->a。因此我们可以只考虑有向图的存储。(1)邻接矩阵:g[a][b]存储边a->b(2)邻接表://对于每个点k,开一个单链表,存储k所有可以走到的点。h[k]存储这个单链表的头结点int
YMWM_
·
2023-11-09 23:21
C++学习
Acwing
算法
图论
深度优先
支持C#的开源免费、新手友好的数据结构与算法入门教程 - Hello算法
前言前段时间完成了C#经典十大
排序算法
(完结)然后有很多小伙伴问想要系统化的学习数据结构和算法,不知道该怎么入门,有无好的教程推荐的。
追逐时光者
·
2023-11-09 23:13
C#
开源项目
面试指南
c#
开发语言
算法
数据结构
acwing
算法基础
班学习笔记-第三讲.搜索和图论
一、DFS深度优先遍历,需要维护一个st数组来表示每个节点是否被访问过,若不止一条路径则还需要恢复st数组的值(恢复状态)。剪枝:当遍历除了节点是否被访问以外还有其他条件时,可同时判断条件是否成立和节点是否被访问,若不成立则跳过该节点,最后只返回走到终点的路径。树和图的深度优先遍历问题:树的重心。可用节点的子节点个数s代表一个子连通分量,n-s代表除去这个节点和其子节点外其他所有节点的个数,迭代更
irony_202
·
2023-11-09 19:19
图论
算法
学习
【AcWing
算法基础
】第三讲 搜索与图论
一、DFS1.1排列数字是全排列的问题,很经典的dfs题,没什么难度,硬敲就行#includeusingnamespacestd;constintN=10;intn;intpath[N];boolst[N];voiddfs(intcnt){if(cnt==n){for(inti=0;i>n;dfs(0);}1.2n-皇后问题皇后可以上下左右和斜着走第一种方法和全排列的思想一样,其中对角线的下标需要
flowral
·
2023-11-09 19:18
算法
图论
算法
c++
dfs
bfs
acwing
算法基础
之搜索与图论--DFS
目录1基础知识2模板3工程化1基础知识调用dfs()之后表示已经走到头了,需要往回走了(即,回溯),那这时候就要恢复成调用dfs()之前的模样(即,恢复现场)。不同的搜索顺序,对应着不同的耗时。2模板题目1:输出1,2,3,…,n的全排列,按照字典序输出。#includeusingnamespacestd;constintN=10;intpath[N];boolst[N];intn;voiddfs
YMWM_
·
2023-11-09 19:18
Acwing
C++学习
深度优先
算法
图论
acwing
算法基础
之搜索与图论--BFS
目录1基础知识2模板3工程化1基础知识BFS可以用来求取最短路,前提条件是所有边的权重一样。2模板题目1:走迷宫,从左上角走到右下角,求最短路。#include#include#includeusingnamespacestd;constintN=110;intd[N][N];intg[N][N];intn,m;intbfs(){memset(d,-1,sizeofd);queue>q;q.pus
YMWM_
·
2023-11-09 19:44
Acwing
C++学习
算法
图论
宽度优先
五大常用算法:分治、动态规划、贪心、回溯和分支界定
这个技巧是很多高效算法的基础,如
排序算法
(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题
mini_qiu
·
2023-11-09 17:47
算法
分治法
动态规划
回溯法
分支限界法
贪心法
【备战秋招系列-3】Java高频知识点——排序、设计模式、JavaSE、JVM
排序算法
9P1:分类
排序算法
可以分为内部排序和外部排序,在内存中进行的排序称为内部排序,当要排序的数据量很大时无法全部拷贝到内存,这时需要使用外存进行排序,这种排序称为外部排序。
2020GetGoodOffer
·
2023-11-09 09:19
备战秋招
java
常见六大
排序算法
详解以及比较
冒泡排序冒泡排序(英语:BubbleSort)是一种简单的
排序算法
。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。
喝杯牛奶丶
·
2023-11-09 05:09
数据结构
算法
python
数据结构
常用
排序算法
实现
时间复杂度O(1)O(1)O(1)voidfunc1(intn){intcount=100;count++;}voidfunc2(intn){intcount=100;for(inti=0;iarr[j+1]){temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}时间复杂度为O(n2)O(n^2)O(n2),空间复杂度O(1)O(1)O(1)改进版:int[
微笑小星
·
2023-11-09 04:29
排序算法
算法
数据结构
排序算法
之-冒泡
顺序
排序算法
原理从头开始遍历未排序数列,遍历时比较相邻的两个元素,前面的大于后面的,则双方交换位置,一直比较到末尾,这样最大的元素会出现在末尾,接着再依次从头开始遍历剩余未排序的元素,直至所有的元素都排序完成
nickyyu
·
2023-11-09 04:58
算法
算法
六大
排序算法
:插入、选择、冒泡、快排、希尔、归并
1、插入排序解析:第一个元素设定为已经排好序,依次选择后续的元素插入到已经排好序的组内进行排序。图示:代码:publicstaticvoidinsertionSort(int[]arr){intn=arr.length;for(inti=1;i=0&&arr[j]>key){arr[j+1]=arr[j];j--;}//插入当前元素到正确的位置arr[j+1]=key;}}时间复杂度:最坏情况下为
榛果嗨
·
2023-11-09 04:57
排序算法
算法
数据结构
数仓面经大框架
1.计算机及编程基础:操作系统:进程、线程等数据结构:算法题计算机网络:分层等Linux:常用的指令MySQL(重点)Java/Python基础
排序算法
(快排、归并等)2.大数据组件Hadoop:HDFS
Young_IT
·
2023-11-09 02:03
大数据开发
大数据
数据仓库
数据分析
排序算法
(期末复习用)部分摘自菜鸟教程
目录一插入排序(自己内部交换空间复杂度一般为1)1.直接插入排序2.折半插入排序3.希尔(shell)排序二.交换排序1.冒泡排序2.快速排序三.选择排序1.简单(直接)选择排序2.堆排序四.归并排序总结:一插入排序(自己内部交换空间复杂度一般为1)1.直接插入排序步骤1:将待排序的部分放入一个数组a[i]从1开始是一个有序的部分,后面是无序的部分(0是哨兵防止越界也可当一个缓存单元交换用)步骤2
人172
·
2023-11-09 02:32
排序算法
算法
归并排序深度剖析
归并排序是建立在归并操作上的一种有效,稳定的
排序算法
,该算法是采用分治法(DivideandConquer)的一个非常典型的应用。
阿熊不会编程
·
2023-11-09 02:01
数据结构学习之路
排序算法
算法
数据结构
C++希尔排序原理+代码实现(详细注释理解)
希尔排序是希尔(DonaldShell)于1959年提出的一种
排序算法
。
就一枚小白
·
2023-11-09 02:28
算法
c++
排序算法
算法
希尔排序原理(java实现)
希尔排序也是
排序算法
的一种,先说他的定义,希尔排序是把记录按下标的一定增量分组,对每组使用直接插入
排序算法
排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止
凌风暨
·
2023-11-09 02:58
排序算法
java
希尔排序
排序算法
希尔排序原理及C++源码实现
希尔排序是插入排序的一种,又称“缩小增量排序”,是直接插入
排序算法
的一种更高效的改进版本。
夏之七
·
2023-11-09 02:57
算法
算法
排序算法
希尔排序原理
插入排序实现二、希尔排序实现一、希尔排序与插入排序1)希尔排序的概念希尔排序(Shell'sSort)是插入排序的一种又称“缩小增量排序”(DiminishingIncrementSort),是直接插入
排序算法
的一种更高效的改进版本
阿熊不会编程
·
2023-11-09 02:56
数据结构
排序算法
算法
【图书阅读】《Aditya Bhargava-算法图解:像小说一样有趣的算法入门书》
这本书主要讲述了
算法基础
,包括二分查找、大O表示法、两种基本的数据结构等,后续也面对具体问题时的技巧,例如贪婪算法或动态规划:散列表的应用:图算法;K最近邻算法。该篇博文主要记录阅读完的一些重点回顾!
MengYa_DreamZ
·
2023-11-08 22:12
图书阅读笔记
数据结构
算法
排序算法
品质至上,共赢未来:瑞幸与全球合作伙伴构筑行业高品质发展之路
没搞清楚他要问的是什么,说了丢某厂自我介绍问了问成绩关于继承、多态,举个例子说说aop说说垃圾回收说说数据结构说说
排序算法
聊天.........华为秋招面经一二面试官非常友善!
2301_79125642
·
2023-11-08 18:00
java
C语言实现冒泡排序
冒泡排序是一种简单的
排序算法
,它的工作原理是比较列表中的相邻元素,如果元素不符合指定顺序,则交换它们。它是一种就地且稳定的
排序算法
,可以对数组和链表等数据结构中的项进行排序。
YJlio
·
2023-11-08 12:17
c语言
算法
java
排序算法
总结-(未完待续)
排序算法
总结
排序算法
平均时间复杂度原地排序空间复杂度稳定性插入排序O(n^2)YesO(1)稳定归并排序O(nlogn)NoO(n)稳定快速排序O(nlogn)YesO(logn)不稳定堆排序O(nlogn
bineleanor
·
2023-11-08 10:08
Python
数据结构与算法
Acwing《
算法基础
课》第2章 数据结构
Acwing《
算法基础
课》第2章数据结构文章目录Acwing《
算法基础
课》第2章数据结构单链表双链表模拟栈模拟队列普通队列循环队列单调栈单调队列KMPTrie树并查集朴素并查集维护size的并查集维护到祖宗节点距离的并查集堆哈希表字符串哈希
今天修复bug了吗
·
2023-11-08 10:35
Acwing
算法
C++
算法
c++
数据结构
【数据结构】常见
排序算法
总结(未完待续)
稳定性如果Ai==Aj,Ai原来在Aj位置前,排序后Ai仍然是在Aj位置前。快速排序(不稳定)思路分析:快速排序采用双向查找的策略,每一趟选择当前所有子序列中的一个关键字作为枢纽轴,将子序列中比枢纽轴小的前移,比枢纽轴大的后移,当本趟所有子序列都被枢轴按上述规则划分完毕后将会得到新的一组更短的子序列,他们将成为下趟划分的初始序列集。时间复杂度:最好情况(待排序列接近无序)时间复杂度为O(nlog2
维多利亚港的风吹掉了我的假发
·
2023-11-08 10:04
基础知识整理
数据结构
算法
数据结构
排序算法
java
快速排序
排序算法
三之堆排序
这次介绍堆排序,堆排序分为2步,1.建堆2.排序但是建堆的过程是对堆进行调整,而排序的过程实际上也是对堆调整,堆排序,是基于完全二叉树的,凡是和树和图相关的,总是需要多花点时间弄懂,哎,基础太差。所以关键是对堆的调整,下面的代码和图用的是大顶堆,代码是参考大话数据结构,理解了之后自己动手敲的。调整的过程如下图所示,但是为了显示一个过程,图7、图8最后的虚线是visio一页不足所致,红色为每次要调整
thepeakofmountain
·
2023-11-08 10:33
数据结构
排序算法
算法
c语言
堆排序
上一页
45
46
47
48
49
50
51
52
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他