数组中有n个数,比较每相邻两个数,如果前者大于后者,就把两个数交换位置;这样一来,第一轮就可以选出一个最大的数放在最            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-12-21 10:06:34
                            
                                54阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、冒泡 时间复杂度O(n^2) 算法步骤: 1)第一轮比较相邻两个元素将大的放在右侧,一轮结束后最大的值在最右侧 2)第二轮继续比较相邻两个元素将大的放在右侧,第二轮结束后次大的值在最有侧第二个 3)如此循环,直到没有数字需要比较 优化: 加一个标记flag,当某一轮无发生数据交换时即排序完成 1 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-31 15:40:00
                            
                                77阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            1、冒泡排序(Bubble Sort)算法描述: (1)比较相邻的元素。如果第一个比第二个大,就交换它们两个; (2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数; (3)针对所有的元素重复以上的步骤,除了最后一个; (4)重复步骤1~3,直到排序完成。如果两个元素相等,不会再交换位置,所以冒泡排序是一种稳定排序算法。方法一:自定义数组实现冒泡排序p            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-10 19:28:29
                            
                                75阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            排序算法已经是面试中被问烂的题目了,可以说经常面试都会被问到排序算法。一般面试官的问题比较宽泛,比如:"说说排序算法?"。 抛出这样的一个问题有的人可能就直接回答了排序算法有哪些,然后没有深入分析。这种方式并不可取,原因如下:
1. 直接说出8个面试题,这样导致这道题的面试时间比较短,面试官就有机会问更多的问题,以下上升为压力面试。狂轰乱炸的题目如果基础不是特别            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-12 17:41:12
                            
                                16阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              数据排序是许多实际任务在执行时要完成的第一项工作,比如学生成绩评比、数据建立索引等。这个实例和数据去重类似,都是先对原始数据进行初步处理,为进一步的数据操作打好基础。1.实例描述  对输入文件中的数据进行排序。输入文件中的每行内容均为一个数字,即一个数据。要求在输出中每行有两个间隔的数字,其中,第二个数字代表原始数据,第一个数字这个原始数据在原始数据集中的位次。  样例输入:  file1:             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-06 20:43:41
                            
                                52阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            作者是一名工作不久的实习生,以下代码是目前理解能力的最大优化,希望对你有帮助;作者在快速排序与堆排序的对比之下,优先推荐读者使用堆排序,理由是堆排序的代码复杂度是固定的,要排序的数越多越有优势,在我看完,你会发现堆排序的代码比快速排序更好理解,且代码更少。 这里的每种排序都有递归与非递归两种排序方式(简单的连注释都不需要)1.二分查找排序算法(折半查找) 理解:只能对已排好序的数组进行排序,升序与            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-24 12:44:32
                            
                                42阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            (ps:排序算法是基本功,因此笔试/面试很容易被考到,这里只对排序算法进行基本阐述,没有书写代码,相关代码百度百科) 稳定性:稳定排序算法会让原本相等的键值的记录维持相对次序。也就是说如果一个排序算法是稳定的,当有两个相等的键值记录R与S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会在S之前。不稳定排序:排序名称排序的平均时间复杂度选择排序(selection sort)O(n^2)快            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-23 20:17:57
                            
                                60阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、数据结构与算法基础· 说一下几种常见的排序算法和分别的复杂度。· 用Java写一个冒泡排序算法/*现在有一个包含1000个数的数组,仅前面100个无序,后面900个都已排好序且都大于前面100个数字,那么在第一趟遍历后,最后发生交换的位置必定小于100,且这个位置之后的数据必定已经有序了,也就是这个位置以后的数据不需要再排序了,于是记录下这位置,第二次只要从数组头部遍历到这个位置就可以了。如果            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-04 14:19:29
                            
                                23阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            排序算法整理(Java)1. 直接插入排序(Insert Sort)1.1 思路:1.将待排序序列分为有序区和无序区,初始时,有序区为待排序记录第一个,无序区为剩下所有。
	2.将无序区的第一个记录插入到有序区合适位置中,无序区记录减一,有序区加一。
	3.重复步骤2,到无序区没有记录为止。
算法适用于少量数据的排序,时间复杂度为O(n^2),是稳定的排序方法。1.2 算法实现/**
     *            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-19 15:53:15
                            
                                40阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            八大排序(重点!!)排序算法大体可分为两种:
1、比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。
2、非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。一、冒泡排序算法思路1、比较相邻的元素。如果第一个比第二个大,就交换它们两个;
2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-31 21:57:32
                            
                                52阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                面试官还问了我另外一个问题,就是给我一个严格递增或是严格递减的数组,让我将里面的某个数据取出来,这不就是折半查找吗?    下面我就整理一下二分查找:    算法复杂度:折半搜索每次把搜索区域减少一半,时间复杂度为。(n代表集合中元素的个数)  &nb            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2014-09-25 15:07:47
                            
                                613阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                今天我们看看快速排序,其实我们是在大二上学期上的数据结构,现在基本上忘的差不多了,最近这两年一直在做应用,所以这个面试官给我敲响了警钟,虽然说我面试的结果不怎么样,但是我的收获还是很多的,在这里与大家分享一下。希望大家在面试之前,一定要看看我们常用的算法,这是经常考的,还有就是面试官会问你算法复杂度,这是个很头疼的问题,一开始学的时候就不会,希望哪个            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2014-09-25 09:53:07
                            
                                1421阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            冒泡排序            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2016-10-30 00:37:45
                            
                                953阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. 概述排序算法分为内部排序和外部排序,内部排序把数据记录放在内存中进行排序,而外部排序因排序的数据量大,内存不能一次容纳全部的排序记录,所以在排序过程中需要访问外存。  经常提及的八大排序算法指的就是内部排序的八种算法,分别是冒泡排序、快速排序、直接插入排序、希尔排序、简单选择排序、堆排序、归并排序和基数排序,如果按原理划分,冒泡排序和快速排序都属于交换排序,直接插入排序和希尔排序属于插入排序            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-13 18:29:15
                            
                                7阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            常见的排序算法有冒泡、选择、插入、希尔、快排、堆排、基数、归并、计数以及桶排等。前六种算法在前面文章里已经有过较详细的介绍,并提供了相关的Java代码作为参考。其中,最重要的必然是快排和堆排这两种,准备面试的同学务必要熟练掌握。至于后四种算法,则考得相对很少,而且大多数考点也集中在它们的复杂度和稳定性上。同时,这四种算法还有一个共同的特点,它们的效率不低,但都是以申请额外的O(n)级别的空间为代价            
                
         
            
            
            
            面试官出的题:    给你一组学生的成绩信息,key 为学生姓名,value 为成绩,然后根据value 进行排序。    说实话,面试官问到我的时候,真的挺崩溃的,自己的算法本来就不好,对这个又不是很熟悉,所以当时很紧张的,不过还好,在面试初期遇到了这些问题,还有的补。                
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2014-09-24 16:41:02
                            
                                946阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录1.冒泡排序1.1 思路1.2 JAVA代码2.选择排序2.1 思路2.2 JAVA代码方法一方法二(改进)3.插入排序3.1 思路3.2 JAVA代码方法一(代码不可用)方法二(修改方法一,使代码可用)4.快速排序4.1 思路4.2 JAVA代码5.归并排序5.1 思路5.2 JAVA代码 1.冒泡排序1.1 思路冒泡排序: 1.外循环,循环n次,每次循环获取最大值,放在最后,新序列为            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-26 09:21:44
                            
                                28阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            冒泡排序冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。原理:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-12 21:40:24
                            
                                42阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Java常用的排序算法有以下几种:冒泡排序(Bubble Sort)选择排序(Selection Sort)插入排序(Insertion Sort)希尔排序(Shell Sort)归并排序(Merge Sort)快速排序(Quick Sort)堆排序(Heap Sort)计数排序(Counting Sort)桶排序(Bucket Sort)基数排序(Radix Sort)这些排序算法都有各自的优缺            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-18 16:15:29
                            
                                105阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Java中的方法覆盖重写(Overriding)和方法重载(Overloading)是什么意思?Java中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖重写是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。 Java的四种引用,强弱软虚,用到的场景1.  强引用:如果一个对象具有强引用,它就            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-16 14:33:47
                            
                                12阅读