自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 线性查找和二分查找算法

线性查找算法public class SeqSearch{ public static void main(String[] args){ int[] arr = {1, 9, 11, -1, 34, 89}; int index = seqSearch(arr, 11); if(index == -1){ System.out.println("没有找到"); }else{ System.out.println("找到了,下标 = " + index); } }

2021-04-10 19:56:35 249

原创 归并排序算法

一、基本思想归并排序是利用归并的思想实现排序的方法,该算法采用经典的分治策略1.分:即将问题分成一些小问题 分阶段可以理解为递归拆分子序列的过程2.治:将分的阶段得到的各答案修补在一起二、算法分析把长度为n的输入序列分成两个长度为n/2的子序列;对这两个子序列分别采用归并排序;将两个排序好的子序列合并成一个最终的排序序列。合并次数为:n - 1 所以时间复杂度为o(n) 线性三、画图分析四、代码实现public class MergeSort{ public static void

2021-04-09 11:52:13 204 2

原创 基数排序算法

基数排序属于"分配式排序",又称"桶子法"或bin sort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些桶中,达到排序的目的基数排序RadixSort是桶排序的扩展首先我们用图片来简单描述一下基数排序的过程:基数排序基本思想:将所有待比较数值统一位同样的数位长度,数位较短的数前面补零,然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列基数排序说明:1.基数排序是对传统桶排序的扩展,速度很快2.基数排序是经典的空间换时间

2021-04-02 15:57:10 124

原创 操作系统知识点整理 第一章:概述

B站 陈渝老师 清华大学https://www.bilibili.com/video/BV1js411b7vg?p=1本文整理的知识点全部都在b站视频中,有兴趣的同学可以点上面的链接去看陈老师关于操作系统的课程1.1操作系统在用户角度上,是一个控制软件,功能:(1) 管理应用程序(2) 为应用程序提供服务(3) 杀死应用程序操作系统在管理者的角度上,功能:(1) 资源管理(2) 管理外设、分配资源操作系统层次结构位于 硬件之上 应用程序之下,为应用程序提供服务支撑1.2Kernel

2021-03-29 15:13:23 123

原创 希尔排序算法

//希尔排序是把记录下标的一定增量分组,对每组使用直接插入算法(移位式),随着增量的减小,每组包含的关键字越来越多//当增量减至1时,整个数组恰被分成一组,算法终止//因为这里内部用了插入排序,我再将插入排序的思想放在下面,具体//插入排序的基本思想://把n个待排序的元素看成一个有序表,一个无序表,开始的时候,有序表只包含n-1个元素,排序过程中每次从无序表中取第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将他插入到有序表的合适位置//交换式希尔排序 内部用来冒泡排序方法//具体看

2021-03-26 20:28:52 746

原创 快速排序算法

//快速排序是对冒泡排序的一种改进//基本思想://通过一趟排序,将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据要小//然后按照此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据都变的有序import java.util.Arrays;public class QuickSort{ public static void main(String[] args){ int[] arr = {-9, 78, 0, 23, -567, 70

2021-03-24 12:08:04 123 2

原创 选择排序算法

//按照前面的风格,这里依然是先推导最开始的几轮,再总结出最终的算法//选择排序思想://第一次从arr[0]~arr[n - 1]中选取最小值与arr[0]交换//第二次从arr[1]~arr[n - 1]中选取最小值与arr[1]交换//…//第n - 1次从arr[n - 2]~arr[n - 1]中选最小值与arr[n - 2]交换//总共通过n - 1次交换,最终得到一个从小到大的序列//注意://过程中不是每一次都交换,只有找到最小值之后才进行交换//说明://1.选择排序一

2021-03-23 13:44:38 295

原创 插入排序算法

//插入排序算法基本思想://把n个待排序的元素看成一个有序表一个无序表,开始的时候有序表只包含一个元素,无序表包含n - 1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将他插入到有序表的合适位置public class InsertSort{ public static void main(String[] args){ int[] arr = {1, 213, 123, 12, 12, 32231, 241}; insertSort(arr

2021-03-23 13:07:33 81

原创 冒泡排序算法

//冒泡排序 平均时间复杂度o(n^2)//思路://将待排序序列从前向后依次比较,若发现逆序则交换//优化://若其中某一趟排序没有发生交换,则说明排序完成,直接退出即可//下面的内容先通过两次简单的推导,最后得出最终的冒泡排序算法//本人第一次写CSDN文章 有不对的地方还请告知 谢谢public class BubbleSort{ public static void main(String[] args){ int[] arr = {2,3,1,123,41,13,123,4}

2021-03-21 10:42:14 125 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除