• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于java:排序算法学习报告

java 搞代码 3年前 (2022-02-19) 19次浏览 已收录 0个评论
对于学习自身,存在很多误区,特此写这篇学习报告来温习常识、调整认知。
意识根底须要接收一些对于学习上的意识事实。
  • 学习是一个间断的过程:了解-表白-使用,前面的都会测验后面的步骤。
  • 学习过程贯通着记忆、忘记、谬误、情绪杂念,这些必然存在,接收这些存在;
  • 学习过程的每一步都须要测验。
  • “了解-表白-使用”,会忘记须要温习

学习工夫:2021-2-21至2021-2-24
学习形式:10小时视

来源gao!%daima.com搞$代*!码网

频学习
学习过程:了解概念和关系后,通过默敲来表白,解leetcode题来利用
学习进度:了解和表白,未利用
编程语言:java
学习留神点:排序的最优解、工夫复杂度、排序稳定性(两个雷同的元素,排序实现状态和未排序状态的绝对地位不扭转)、原地排序(1-7)、辅助排序(8-10)
学习内容:10种排序算法

1、冒泡排序

内容:针对未排序数组中的每一元素进行相邻地两两比拟,依据大小进行地位替换;
优化:缩小比拟次数
a、每一元素循环如果不呈现替换则已排序实现,break
b、每一元素循环时,已排序的元素不须要再次比拟,记录已排序的地位。

2、抉择排序

内容:依照数组大小进行循环,每次找到最大值的下标,将其与本次循环的最初一个元素替换。
优化:堆排序

3、堆排序

内容:对未排序的数组进行自建堆heapify,而后每次将堆顶和开端替换,长度自减1后下滤直至堆长度等于1。

4、插入排序

内容:将未排序数组中的每一元素,和后面已排序实现的元素进行比拟替换。
优化:缩小比拟次数,
a、和前排比拟找到插入地位,而后元素移动插入
b、二分查找找到插入地位,而后元素移动插入

5、归并排序

内容:对未排序的数组屡次二分直至只剩下一个元素,再将分好的元素从新合并,合并过程是各取两局部数组中的一个比拟后插入。

6、疾速排序

内容:选首元素作为轴元素和首末的指针,从右往左遍历元素,和轴元素比拟找到比轴元素小的元素,将其笼罩首指针,首指针+1,再从左往右遍历,找到比轴元素大的覆末指针,末指针-1。到首末指针相等,轴元素笼罩两头。
以轴元素划分为两局部数组反复以上过程。
优化:始终选取轴元素可能造成比拟次数减少,可随机选取一个元素和首元素替换

7、希尔排序

内容:给定一个序列如{16,8,4,2,1}(n/2^k),按序列数为规范划分数组成几行,按竖列进行排序,直至序列循环结束即可。

8、计数排序

内容:找到最大值,按最大值新建一个统计数组,遍历待排数组统计元素呈现的次数,最初按统计数组遍历出有序序列
毛病:节约空间,无奈排序正数,排序不稳固。
优化:找出最大值同时找出最小值,新建最大最小值范畴的数组,可解决空间节约和正数排序问题,统计元素频率,将频率加上前一元素的频率,反向遍历原数组,生成有序序列。

9、基数排序

内容:找出最大值,按位数从个位开始进行计数排序,直至最高位。
优化:新建二维数组作为桶,按位数从个位开始将元素别离放入桶中,再遍历所有桶赋值原数组,直至最高数。

10、桶排序

内容:按数组大小新建多个动静数组或链表(桶),将元素按肯定规定平均存入桶中,独自对桶进行排序,最初将不空的桶组合成有序序列。


学习效果剖析:

  • 明天从新回忆三天前的内容,发现1,2,3,4曾经忘记局部内容,有些曾经想不起来了,这是忘记很失常。
  • 学习以上常识是通过了解-表白的过程,产生一个疑难
  • 从了解上来讲,还是会忘记要害的原理,阐明了解水平明明不够,总自认为了解了,了解更新一个规范。
  • 从表白上讲,默敲过程其实还是有参考视频教程的代码,所以表白的水平不够,表白也须要更新一个规范,除了默敲还能够写学习报告或说给人听。
  • 忘记其实是再次记忆的时刻,回忆越艰巨记得越可靠。 — 《认知本能》
  • 最初,我想我应该去找使用了。。待续

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于java:排序算法学习报告

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址