代码中所有数组都是 1~n。 1、冒(起)泡排序 1 void sort1( int a[],int n) 2 { 3 for(int i=1; i<=n-1; i++) 4 for(int j=1; j<=n-i; j++) 5 if(a[j+1]<a[j]) 6 swap(a[j],a[j+1] ...
                            
                            
                                分类:
编程语言   时间:
2019-09-01 18:34:53   
                                阅读次数:
145
                             
                         
                    
                        
                            
                            
                                十大经典算法排序总结对比 一张图概括: 主流排序算法概览 主流排序算法概览 n: 数据规模k:“桶”的个数In-place: 占用常数内存,不占用额外内存Out-place: 占用额外内存稳定性:排序后2个相等键值的顺序和排序之前它们的顺序相同 冒泡排序(Bubble Sort) 当输入的数据已经是 ...
                            
                            
                                分类:
编程语言   时间:
2019-08-21 16:26:01   
                                阅读次数:
90
                             
                         
                    
                        
                            
                            
                                    出题:A-B-D1-D2 补题:C-E-F 总结:B看错题,导致浪费非常多的时间,D2用前缀和分成三个写就超时,可能是我姿势不对。。。逃,心态炸了没读读懂C。。。还是太辣鸡了 A. Three Piles of Candies #include<iostream> #include<stdio.h> ...
                            
                            
                                分类:
其他好文   时间:
2019-07-26 02:07:45   
                                阅读次数:
115
                             
                         
                    
                        
                            
                            
                                dic = {"abc":18,"adc":19,"abe":20} # 默认对键排序,从小到大,返回排序后键组成的列表 zidian = sorted(dic)#['abc', 'abe', 'adc'] print(zidian) # 对键进行反向(从大到小)排序 zidian = sorted... ...
                            
                            
                                分类:
编程语言   时间:
2019-07-04 22:39:30   
                                阅读次数:
171
                             
                         
                    
                        
                            
                            
                                    十大经典算法排序总结对比 一张图概括: 主流排序算法概览 主流排序算法概览 n: 数据规模k:“桶”的个数In-place: 占用常数内存,不占用额外内存Out-place: 占用额外内存稳定性:排序后2个相等键值的顺序和排序之前它们的顺序相同 冒泡排序(Bubble Sort) 作为最简单的排序算 ...
                            
                            
                                分类:
编程语言   时间:
2019-06-19 12:29:19   
                                阅读次数:
157
                             
                         
                    
                        
                            
                            
                                    直接插入排序 1、将待排序的记录放入数组 arr[n] 中; 2、循环 n-1 次,使用顺序查找法,判断 arr[i] 在序列 arr[0]~arr[i-1] 中的位置,然后将 arr[i] 插入序列 arr[0]~arr[i] 中,得到 arr[0]~arr[i] 的有序序列,继续循环,最终得到长 ...
                            
                            
                                分类:
编程语言   时间:
2019-05-28 21:13:23   
                                阅读次数:
143
                             
                         
                    
                        
                            
                            
                                https://www.cnblogs.com/chengxiao/p/6528109.html 内存可见性 留意复合类操作 解决num++操作的原子性问题 禁止指令重排序 总结 内存可见性 volatile是Java提供的一种轻量级的同步机制,在并发编程中,它也扮演着比较重要的角色。同synchr ...
                            
                            
                                分类:
编程语言   时间:
2019-04-08 19:58:21   
                                阅读次数:
187
                             
                         
                    
                        
                            
                            
                                    一、基本的归并排序 归并排序分为"分治"和"归并"两个阶段: 分治 : 其中分治采用的是递归的思想将待排序的数组分为越来越小的子数组,直到子数组只有单个元素(将单个元素看做有序数组):过程如图: 上图所示的分治过程,用代码实现: 归并:归并是将已经排好序的子数组合并在一起,示意图如下,归并的操作过程 ...
                            
                            
                                分类:
编程语言   时间:
2019-03-24 09:49:00   
                                阅读次数:
241
                             
                         
                    
                        
                            
                            
                                不说了,上题: 这个题其实很简单,显而易见X就是Y的先决条件,Z就是边权了,注意细节就行,最后将出度为0的点取个max即为答案。 代码如下: #include<bits/stdc++.h> using namespace std; int n,m,tot,link[10000],ru[500],ch ...
                            
                            
                                分类:
编程语言   时间:
2019-02-03 12:53:10   
                                阅读次数:
178
                             
                         
                    
                        
                            
                            
                                    1、冒泡排序:每次将最大或最小值通过交换放到数组前面。 2、插入排序: 由n-1趟排序组成,对于从P=1到P=n-1趟排序,每次排序保证从0到P之间的元素为已排序状态(即0~P-1是排好序的)。 3、希尔排序: 通过比较相距一定间隔的元素来工作,这些间距序列h1,h2,……,hn又称为增量序列,相当 ...
                            
                            
                                分类:
编程语言   时间:
2019-02-02 14:28:41   
                                阅读次数:
227