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
算法基础--排序算法
Acwing -
算法基础
课 - 笔记(数据结构 · 三)
文章目录数据结构(三)哈希表哈希表的存储字符串哈希STLvectorpairstringqueuepriority_queuestackdequesetmapbitset数据结构(三)本节讲解的是哈希表,和C++的STL容器的基本使用哈希表哈希表的作用:把一个比较大的空间,映射到一个比较小的空间。一般做哈希运算时,取一个质数作为模,会使得冲突的概率降低哈希表的存储冲突解决方法开放寻址法拉链法练习题
抠脚的大灰狼
·
2023-11-08 10:33
算法
Acwing算法基础课
算法
字符串哈希
哈希
AcWing
算法基础
课----数据结构(三) 笔记 (Hash + 字符串哈希 + STL应用)
数据结构Hash表存储结构1.开放寻址法2.拉链法字符串哈希C++STLvector(变长数组)pairHash表把特别大的数据映射到0~n存储结构1、xmodlen(质数)2、冲突解决冲突:1.开放寻址法数组开的范围一般为题目给定的2~3倍模板:inth[N];//如果x在哈希表中,返回x的下标;如果x不在哈希表中,返回x应该插入的位置intfind(intx){intt=(x%N+N)%N;w
彡倾灬染|
·
2023-11-08 10:02
算法学习笔记
AcWing
c++
c语言
【数据结构】内部排序- -选择排序小结(简单选择排序、堆排序)
每一趟在待排序列中选择关键字的最值(最大还是最小看要求),并加入有序子列1简单选择排序1.1思想这是一个真的很简单的
排序算法
;每一趟在待排序列中只要最小(最大)的,不论初态,不论技巧;必须n-1趟,没得感情
Soul:
·
2023-11-08 10:31
【数据结构】—内部排序
数据结构
排序算法
算法
Acwing
算法基础
课第二讲——数据结构
模拟单链表方法:两个数组,一个存该索引位置的val,另一个存该索引位置的下一位置(即下一个位置的索引是啥)。其中,第0号位置仅表示链表的head,不进行使用。#includeusingnamespacestd;constintN=1e5+10;intval[N],nextA[N],len,head;//向第k个元素后插入一个节点xvoidinsert(intk,intx){val[len]=x;n
XXWW9
·
2023-11-08 10:31
数据结构
算法
【AcWing
算法基础
课】 2、数据结构 笔记
第二章数据结构目录第二章数据结构1、单链表2、双链表3、栈4、队列5、单调栈6、单调队列7、KMP8、Trie树9、并查集10、堆如果直接用结构体和指针来,每次创建一个新节点就要newNode();,这个操作是非常慢的,如果有非常多数据,如10w,在新建节点的时间就超时了。所以都是用数组来模拟链表。STL可以做的,数组都可以做,数组可以做的,STL不一定能做。所以实现这些数据结构,学习数组的方法,
最强最帅的蜻蜓队长
·
2023-11-08 10:01
算法
数据结构
算法
链表
AcWing
算法基础
课----数据结构(二) 笔记 (Tire树 + 并查集 + 堆)
数据结构1.Trie树2.并查集(1)朴素并查集:(2)维护size的并查集:(3)维护到祖宗节点距离的并查集:3.堆如何手写一个堆?1.Trie树高效地存储和查找字符串集合模板intson[N][26],cnt[N],idx;//0号点既是根节点,又是空节点//son[][]存储树中每个节点的子节点//cnt[]存储以每个节点结尾的单词数量//插入一个字符串voidinsert(char*str
彡倾灬染|
·
2023-11-08 10:01
算法学习笔记
AcWing
c语言
c++
acwing
算法基础
课:C++ STL
C++STL简介vector,变长数组,倍增的思想size()返回元素个数empty()返回是否为空clear()清空front()/back()push_back()/pop_back()begin()/end()[]支持比较运算,按字典序pairfirst,第一个元素second,第二个元素支持比较运算,以first为第一关键字,以second为第二关键字(字典序)string,字符串size
墨染&殇泪
·
2023-11-08 10:30
acwing
#
数据结构
算法
c++
数据结构
python
排序算法
(未完待续)
内容源自哔哩哔哩up主青岛大学--王卓的算法数据结构以及大话数据结构(虽然网上已经有很多资料了,但是自己理解了再写一遍感觉印象更深刻,所以记录下来,以便以后查阅)选择排序:(1)简单选择排序(2)堆排序(1)简单选择排序基本思想是在待排序的数据中选出最大(小)的元素放在最终的位置。具体过程:1)首先通过n-1次关键字比较,从n个记录中找出关键字最小的记录,将其与第一个记录交换2)再通过n-2次比较
林疏浅阳
·
2023-11-08 10:59
acwing-
算法基础
课-786. 第k个数
原题链接:786.第k个数-AcWing题库其实此题考察快速排序的模板代码,但是STL中的sort()函数更快捷。值得注意的是sort()的用法:sort()函数可以对给定区间所有元素进行排序。它有三个参数sort(begin,end,cmp),其中begin为指向待sort()的数组的第一个元素的指针,end为指向待sort()的数组的最后一个元素的下一个位置的指针,cmp参数为排序准则,cmp
提佳_teil
·
2023-11-08 10:27
算法
数据结构
c++
【ACWing
算法基础
】C++ STL 容器简介
STL容器的简要介绍vector,变长数组,倍增的思想size()返回元素个数empty()返回是否为空clear()清空front()/back()push_back()/pop_back()begin()/end()[]支持比较运算,按字典序pairfirst,第一个元素second,第二个元素支持比较运算,以first为第一关键字,以second为第二关键字(字典序)string,字符串si
OctalZero
·
2023-11-08 10:57
数据结构与算法
算法
c++
数据结构
ACWing
算法基础
题-数据结构专题笔记
数据结构数组模拟栈intstk[N],tt;//插入stk[++tt]=x;//弹出tt--;//判断是否为空if(tt>0)notempty;elseempty;//取栈顶元素stk[tt];队列intq[N],hh,tt=-1;//hh对头,tt队尾//插入q[++tt]=x;//在队尾插入元素hh++;//在对头弹出元素if(hh>n;for(inti=0;i>x;while(tt&&stk
c1assy
·
2023-11-08 10:56
acwing
数据结构
短时间理解堆排序
本篇文章是我通过自身实践总结出来的一种简单学习堆排序或者是其他
排序算法
的方法。
izhaoxudong
·
2023-11-08 10:25
排序
算法
排序
堆排序
算法与数据结构模版(AcWing
算法基础
课笔记,持续更新中)
AcWing
算法基础
课笔记文章目录AcWing
算法基础
课笔记第一章基础算法1.排序快速排序:归并排序:2.二分整数二分浮点数二分3.高精度高精度加法高精度减法高精度乘法高精度除法4.前缀和与差分前缀和矩阵前缀和一维差分二维差分
求求AC吧
·
2023-11-08 10:23
算法
数据结构
Java 实现常用
排序算法
(未完待续。。。)
java实现常用
排序算法
本文只针对内排序:第四版数据结构教程中写:排序过程中,整个表都是放在内存中处理,排序不涉及内,外存数据的交换,则称之为内
排序算法
的时间复杂度:O(1)=0&&x>a[j]){//
weirchris
·
2023-11-08 10:52
算法-java
数据结构
排序算法
java
acwing
算法基础
之数据结构--哈希表算法
目录1基础知识2模板3工程化1基础知识此部分知识点对应C++标准库中的unordered_set。哈希表:将一个大范围[-1e9,1e9]映射成一个小范围[0,1e6],将此映射记作f(⋅)f(\cdot)f(⋅)。注意,当出现x1≠x2andf(x1)=f(x2)x_1\neqx_2\and\f(x_1)=f(x_2)x1=x2andf(x1)=f(x2),也即哈希冲突时,会有两种处理方式。拉
YMWM_
·
2023-11-08 10:21
Acwing
C++学习
算法
数据结构
散列表
排序算法
-Python语言(未完待续)
排序算法
总体介绍所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
排序算法
,就是如何使得记录按照要求排列的方法。
MrNoboday
·
2023-11-08 10:51
python高级
python语言排序算法
acwing
算法基础
之数据结构--stl简介
目录1基础知识2模板3使用示例3.1vector1基础知识无。2模板vector,变长数组,倍增的思想size()返回元素个数empty()返回是否为空clear()清空front()/back()使用时,必须判断向量类容器非空push_back()/pop_back()begin()/end()[]支持比较运算,按字典序pairfirst,第一个元素second,第二个元素支持比较运算,以fir
YMWM_
·
2023-11-08 10:46
Acwing
C++学习
算法
数据结构
c++
Java笔记3.1——Java基础之数组
数组元素的默认初始化值5.代码演示6.内存的简化结构7.练习题四.多维数组的使用1.概念2.多维数组的使用3.二维数组的内存解析4.代码演示5.课后练习五.数组中涉及的常见算法1.练习题2.二分法查找算法3.
排序算法
清醒之时入梦
·
2023-11-08 08:20
Java
java
eclipse
开发语言
【LeetCode】有多少小于当前数字的数字
=i且nums[j]nums[j]:sum+=1ret.append(sum)returnret方法2使用
排序算法
,先进行排序,完成后在统计小于的即可,排序后时间复杂度就可以由原来的O(n^2)变成O(
杰肥啊
·
2023-11-08 08:48
算法
1024程序员节
基础排序详解 --冒泡--插入--选择
基础排序详解分析
排序算法
排序算法
的执行效率1.最好、最坏、平均时间复杂度2.时间复杂度的系数、常数、低阶3.比较次数和交换、移动次数
排序算法
的内存消耗
排序算法
的稳定性冒泡排序排序分析冒泡排序是原地
排序算法
吗冒泡排序是稳定的
排序算法
吗冒泡
排序算法
的时间复杂度是多少
吃再多糖也不长胖
·
2023-11-08 06:41
数据结构
排序算法
算法
数据结构
4.三大基础排序 -选择排序、冒泡排序、插入排序
排序算法
文章目录冒泡
排序算法
步骤动图代码优化总结选择
排序算法
步骤动图代码总结插入
排序算法
步骤动图代码总结
排序算法
,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
Ying_526_
·
2023-11-08 06:01
算法
algorithm
排序算法
算法
java
排序_小结
排序篇(六)----排序小结\n
排序算法
复杂度及稳定性分析\n直接插入排序的算法复杂度:\n\n最好情况下,当数组已经有序时,直接插入排序的时间复杂度为O(n),其中n是数组的大小。
屿小夏.
·
2023-11-08 05:42
开发语言
python数据结构和
算法基础
(第一节,数据结构和
算法基础
)
01.算法引入02.时间复杂度和大o表示法2.1时间复杂度与大o表示法引入:2.1时间复杂度与大o表示法pycharm中,快速多行注释,ctrl+/2.2最坏时间复杂度与计算规则2.3常见时间复杂度与大小关系03.python列表和字典3.1代码执行时间测量木块timtit3.2python列表类型不同操作的时间效率3.3python列表与字典操作的时间复杂度04.数据结构引入
Ctrl_CV攻城狮
·
2023-11-08 04:28
Python
数据结构
《数据结构与
算法基础
》学习笔记——第二章 线性表 List
第二章线性表List2.1线性表的定义和特点线性表是具有相同特性的数据元素的一个有限序列。其中数据元素的个数n定义为表的长度。当n=0时称为空表。将非空的线性表(n>0)记作:(a1,a2,…an)这里的数据元素ai(1|ai-1,ai属于D,(i=2,3,……,n)}//数据关系序偶关系,ai-1是ai的前驱,ai是ai-1的后继基本操作:InitList(&L);DestroyList(&L)
鱼 丸
·
2023-11-08 02:18
学习
c++
数据结构
算法
归并排序(c语言代码实现)
归并排序(稳定的排序):归并排序是一种分治策略的
排序算法
,其基本思想是将待排序数组分成两个子数组,分别对这两个子数组进行排序,然后合并这两个已经排序好的子数组,最终得到完整的已排序数组。
认真敲代码的小火龙
·
2023-11-07 23:46
排序
算法
数据结构
排序算法
排序算法
的分析及实现
目录1.排序1.1.排序的概念1.2.排序的稳定性1.3.内部排序和外部排序2.直接插入排序2.1.直接插入排序2.2.直接插入排序的两种情况1.情况一2.情况二2.3.直接插入排序的单趟排序2.4.直接插入排序的完整实现2.5.直接插入排序的时间复杂度分析3.希尔排序3.1.希尔排序的实现1.预排序的单趟排序:2.希尔排序的完整实现3.2.希尔排序的时间复杂度的分析4.直接选择排序4.1.直接选
举杯笑苍天
·
2023-11-07 15:04
排序算法
Python算法——堆排序
堆排序(HeapSort)是一种基于二叉堆数据结构的
排序算法
,它通过将元素构建成一个最大堆或最小堆,然后重复从堆中移除根节点,直到堆为空,从而得到有序数组。
Echo_Wish
·
2023-11-07 13:35
数据结构与算法
Python
笔记
Python算法
python
算法
开发语言
Python算法——希尔排序
希尔排序(ShellSort)是一种改进的插入
排序算法
,它通过将数组分成多个子数组,并对每个子数组进行插入排序,逐渐减小子数组的间隔,最终完成排序。
Echo_Wish
·
2023-11-07 13:35
数据结构与算法
Python
笔记
Python算法
算法
python
排序算法
Python算法——计数排序
计数排序(CountingSort)是一种非比较性
排序算法
,适用于对一定范围内的整数进行排序。它通过统计每个元素出现的次数,然后根据统计信息重新构建有序数组。
Echo_Wish
·
2023-11-07 13:15
数据结构与算法
Python
笔记
Python算法
python
数据结构与算法之美代码:
排序算法
3
目录算法原理桶排序代码实现桶排序代码实现计数排序代码实现算法原理桶排序核心思想是将要排序的数据分到几个有序的桶里,每个桶里的数据再单独进行排序。桶内排完序之后,再把每个桶里的数据按照顺序依次取出,组成的序列就是有序的了。计数排序:计数排序其实是桶排序的一种特殊情况。当要排序的n个数据,所处的范围并不大的时候,比如最大值是k,我们就可以把数据划分成k个桶。那我们如何快速计算出,每个值的在有序数组中对
浊酒南街
·
2023-11-07 13:19
数据结构与算法之美代码
数据结构
算法
java 算法之快速排序
1、快速排序是一种比较高效的
排序算法
,采用“分而治之”的思想,通过多次比较和交换来实现排序,在一趟排序中把将要排序的数据分成两个独立的部分,对这两部分进行排序使得其中一部分所有数据比另一部分都要小,然后继续递归排序这两部分
二十四桥->
·
2023-11-07 12:27
排序算法
算法
Java算法:选择排序
一、选择排序选择排序(Selectionsort)是一种简单直观的
排序算法
。
凌冰_
·
2023-11-07 12:51
算法
java
JAVA排序:快速
排序算法
Java实现快速
排序算法
快速
排序算法
体现了—分治思想:将大问题划分为多个相同独立的小问题,每个小问题的解决合在一起解决了大问题实现快速排序的思想:{2,4,1,0,3,5}是目标数组{0,1,2,3,4,5
zzh969
·
2023-11-07 12:48
java
排序算法
算法
(九)Java算法:快速排序(详细图解)
值得注意的是,快速排序不是一种稳定的
排序算法
,也就是说,多个相同的值的相对位置也许会在算法结束时产生变
嘉禾嘉宁papa
·
2023-11-07 12:47
Java常用算法
java
算法
排序算法
快速排序算法
Java算法:快速排序
一、快速排序快速
排序算法
是对冒泡
排序算法
的一种改进算法,在当前所有内部
排序算法
中,快速
排序算法
被认为是最好的
排序算法
之一。
凌冰_
·
2023-11-07 12:15
数据结构
java
十大经典
排序算法
之-选择排序
选择排序思想选择排序的思想非常简单:首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。这种方法叫做选择排序,因为它在不断地选择剩余元素之中的最小者。——《算法(第四版)》此算法的实现非常简单,通俗地说就是一共遍历n(n=array.l
github_master
·
2023-11-07 12:44
技术文章
算法
八大
排序算法
---希尔排序原理及代码
冒泡排序选择排序直接插入排序快速排序归并排序基数排序堆排序希尔
排序算法
原理:(希尔排序又称缩小增量排序。)基本思想:先将原表按增量ht分组,每个子文件按照直接插入法排序。
奋斗的阿号
·
2023-11-07 12:43
排序算法
算法
数据结构
排序算法
之-选择
算法原理在未排序的数列中找出最大(或最小)的元素,然后将其存入到已排序的数列起始位置,紧接着在剩余的未排序数列中继续查找最大(或最小)的元素,并将其放入到已排序的数列末尾,依次类推,直至未排序的数列中没有元素。算法图解算法实现publicclassSelectionSort{publicvoidsort(intarr[]){intstartIndex=0;while(startIndexarr[i
nickyyu
·
2023-11-07 12:42
java
算法
top-K 算法总结
有了这个思路,我们可以选择相应的
排序算法
进行处理,目前来看快速排序,堆排序和归并排序都能达到**O(NlogN)**的时间复杂度。
没有人比我更懂暴力算法
·
2023-11-07 10:25
数据挖掘
算法
java
数据结构
快速排序
大数据
基于顺序结构和单链表的各种
排序算法
C++实现
一、插入排序(减治法思想decrease-and-conquer)1.直接插入排序StraightInsertionSortInsertionsort时间复杂度O(n^2)quadraticsortingalgorithms空间复杂度O(1)In-place;i.e.,onlyrequiresaconstantamountO(1)ofadditionalmemoryspace稳定:不会改变相等元素
254860
·
2023-11-07 10:24
笔记
C++
【算法】递归和分治策略
分治策略在我们的
排序算法
中的快速排序、归并以及二分查找中经常用到,本文就来探讨一下分治策略。当然,与分治策略密不可分的还有我们经常用到的递归。
"爱"编程的小朋友
·
2023-11-07 10:51
高级数据结构和算法
【遍历二叉树算法描述】
3.遍历用途:他是树结构插入,删除,修改,查找和
排序算法
的前提,是二叉树一切运算的基础和核心。4.遍历方法:依次遍历二叉树中的三个
forever_youyang
·
2023-11-07 07:49
算法
数据结构
leetcode 动态规划专题
动态规划动态规划题型1需要使用
排序算法
的动态规划leetcode1751leetcode1235leetcode2830leetcode2054
Nahida_nora
·
2023-11-07 02:27
动态规划
Leetcode
leetcode
动态规划
常规
排序算法
排序算法
快速排序privatestaticvoidquickSort(int[]a,intstart,intend){if(a.length=end){return;}}intleft=start;intright
Achillesssss
·
2023-11-07 00:29
java数据结构 第7章--
排序算法
07-归并排序
文章目录7.10归并排序7.10.1归并排序介绍:7.10.2归并排序思想示意图1-基本思想:7.10.3归并排序思想示意图2-合并相邻有序子序列:7.10.4归并排序的应用实例:1.代码演示2.运行结果3.效率测试(800w1s)【学习笔记】【学习资料】7.10归并排序7.10.1归并排序介绍:归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-a
是我,Zack
·
2023-11-06 21:15
Java
#
数据结构
算法
数据结构
排序算法
java
归并排序
java数据结构 第7章--
排序算法
06-快速排序
文章目录7.9快速排序7.9.1快速排序法介绍:7.9.2快速排序法示意图:7.9.3快速排序法应用实例:1)如果取消左右递归,结果是-9-56702378702)如果取消右递归,结果是-567-902378703)如果取消左递归,结果是-9-56702370784)代码实现5)测试80w(1s)【学习笔记】【学习资料】7.9快速排序7.9.1快速排序法介绍:快速排序(Quicksort)是对冒泡
是我,Zack
·
2023-11-06 21:45
Java
#
数据结构
数据结构
算法
快速排序
java
排序算法
数据结构与算法(Java篇)笔记--快速排序
所以,接下来我们要学习一些常见的
排序算法
。一、选择排序 快速排序是对冒泡排序的一种改进。它
我是夜阑的狗
·
2023-11-06 21:35
数据结构与算法
Java
java
排序算法
算法
数据结构
Java数据结构和算法笔记-简单
排序算法
Java数据结构和算法笔记-简单
排序算法
本讲提到的
排序算法
都假定了数组作为数据存储结构,本讲所有算法的时间复杂度都是。
Julywhj
·
2023-11-06 21:02
java算法
排序算法
Java快速
排序算法
、三路快排(Java算法和数据结构总结笔记)[7/20]
一、什么是快速
排序算法
快速排序的基本思想是选择一个基准元素(通常选择最后一个元素)将数组分割为两部分,一部分小于基准元素,一部分大于基准元素。然后递归地对两部分进行排序,直到整个数组有序。
China渔火
·
2023-11-06 21:59
排序算法
数据结构
Java算法
快速排序算法
三路快排
10大基础实用算法及其讲解
算法一:快速
排序算法
快速排序是由东尼·霍尔所发展的一种
排序算法
。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。
BakerCheng
·
2023-11-06 20:58
上一页
46
47
48
49
50
51
52
53
下一页
按字母分类:
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
其他