#排序

ASCII码排序

描述输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。输入第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。输出对于每组输入数据,输出一行,字符中间用一个空格分开。样例输入3qweasdzxc样例输出eqwadscxz&nb...
代码星球 ·2020-04-04

排序和搜索

#coding:utf-8defbubble_sort(alist):"""冒泡排序"""nums=len(alist)-1#要执行的次数whilenums:foriinrange(nums):ifalist[i]>alist[i+1]:alist[i],alist[i+1]=alist[i+1],alist[i...
代码星球 ·2020-04-04

json对象按时间排序

//正序vardata={"rows":[{"name":"张三","time":"2011/4/10:00:00",},{"name":"李四","time":"2015/5/612:30:00",},{"name":"王五","time":"2012/10/122:10:00",},{"name":"赵六","ti...
代码星球 ·2020-04-04

Java实现常见基础排序算法

1.直接插入排序在插入第i个记录的时,R1,R2...已经排好序,这时将关键字R依次与R1...比较,从而找到应该插入的位置,插入位置以及其后的记录依次往后移动。时间复杂度O(n^2)    空间复杂度O(1) 2.冒泡排序首先将第一个记录的关键字和第二个记录的关键字进...

STL排序函数

Qsort,Sort,Stable_sort,Partial_sort,List::sort 参考...
代码星球 ·2020-04-04

排序算法总结之希尔排序

一,希尔排序算法介绍①希尔排序又称缩小增量排序,它本质上是一个插入排序算法。为什么呢?因为,对于插入排序而言,插入排序是将当前待排序的元素与前面所有的元素比较,而希尔排序是将当前元素与前面增量位置上的元素进行比较,然后,再将该元素插入到合适位置。当一趟希尔排序完成后,处于增量位置上的元素是有序的。②希尔排序算法的效率依...
代码星球 ·2020-04-04

桶排序

一,介绍①什么是桶排序?桶排序是在已经数据的范围的条件下,创建若干个桶,根据相应的比较规则将待排数据落入各个对应的桶中,最后扫描桶来实现排序。②桶排序需要的附加条件数据的范围已知。比如,输入整数数据A(1) A(2)......A(n-1) A(n),它们都是由小于M的整数组成,此时,就可以创建M个...
代码星球 ·2020-04-04

排序算法总结之快速排序

一,快速排序介绍快速排序与归并排序一样,也是基于分治的递归算法,体现在:在每一趟快速排序中,需要选出枢轴元素,然后将比枢轴元素大的数组元素放在枢轴元素的右边,比枢轴元素小的数组元素都放在枢轴元素的左边。然后,再对分别对枢轴元素左边和枢轴元素右边的元素进行快速排序。 二,快速排序算法分析 ①相比于直接...
代码星球 ·2020-04-04

排序算法总结之归并排序

一,归并排序介绍归并排序是一个典型的基于分治的递归算法。它不断地将原数组分成大小相等的两个子数组(可能相差1),最终当划分的子数组大小为1时(下面代码第17行left小于right不成立时),将划分的有序子数组合并成一个更大的有序数组。为什么是有序子数组???归并排序的递归公式:T(N)=2T(N/2)+O(N)从公式...
代码星球 ·2020-04-04

排序算法总结之堆排序

一,堆排序介绍堆是一个优先级队列,对于大顶堆而言,堆顶元素的权值最大。将待排序的数组建堆,然后不断地删除堆顶元素,就实现了排序。关于堆,参考:数据结构--堆的实现之深入分析下面的堆排序算法将数组中的元素从小到大排序,用大顶堆来实现。 二,堆排序算法分析 现给定了一维数组,需要将数组中的元素使用堆排序...
代码星球 ·2020-04-04

排序算法总结之插入排序

一,插入排序介绍 插入排序是基于比较的排序。所谓的基于比较,就是通过比较数组中的元素,看谁大谁小,根据结果来调整元素的位置。因此,对于这类排序,就有两种基本的操作:①比较操作;②交换操作其中,对于交换操作,可以优化成移动操作,即不直接进行两个元素的交换,还是用一个枢轴元素(tmp)将当前元素先保存起来,然后执...
代码星球 ·2020-04-04

各种排序算法的总结

都是基于内存的排序算法,包括插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序14年在网易Blog上写的,现把它放到这里。  一,直接插入排序    总体思路:位于表中后面的元素依次与表中前面的元素比较,若比之小,则还需继续和更前面的元素比...
代码星球 ·2020-04-04

有向图的拓扑排序算法JAVA实现

一,问题描述给定一个有向图G=(V,E),将之进行拓扑排序,如果图有环,则提示异常。要想实现图的算法,如拓扑排序、最短路径……并运行看输出结果,首先就得构造一个图。由于构造图的方式有很多种,这里假设图的数据存储在一个文件中,每一行包含如下的信息:LinkID,SourceID,Destina...

二叉排序树的高度分析

一,介绍对于二叉排序树而言,其相关操作与树的高度息息相关。设树中有N个节点,尽管各个操作的平均时间复杂度为O(logN),但当输入的序列有序时,构造出来的树是一个单分支的树,其高度为O(N)故对二叉排序树的各个操作(如,findMax、contains、findMin...)的时间复杂度也退化成O(N) &n...
代码星球 ·2020-04-04

插入排序算法的JAVA实现

1,对元素进行排列时,元素之间需要进行比较,因此需要实现Comparable<T>接口。即,<TextendsComparable<T>>.更进一步,如果允许待比较的类型可以和它的父类型进行比较,则需要写成:<TextendsComparable<?superT>,...
首页上一页...5051525354...下一页尾页