数据结构与算法相关
东哥笔迹
微信公众号shenmk2019
展开
-
简单排序算法之合并排序
合并排序:将待排序元素分成大小大致相同的2个子集合,分别对2个子集合进行排序,最终将排好序的子集合合并成为所要求的排好序的集合。时间复杂度位(nlogn)。 代码如下: 文件MergeSort.java package Lee.sort; //import java.io.*; public class MergeSort { public void merge_S原创 2013-06-05 23:40:53 · 1126 阅读 · 0 评论 -
简单排序算法之堆排序
package com.lee.sort; public class HeapSort { /** * 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。 * 堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 * 堆排序的平均时间复杂度为Ο(nlogn) 。原创 2014-09-04 23:37:07 · 960 阅读 · 0 评论 -
如何在N个无序数组元素中,查找第K大元素
这个问题的解决肯定是要先排序的,然后再定位;原创 2014-09-05 22:55:09 · 2386 阅读 · 1 评论 -
简单排序算法之快速排序
快速排序:在sort[left...right]中任选一个记录作为基准(Pivot),以此基准将当前无序区划分为三段sort[low..pivotpos-1)、sort[pivotpos]和sort[pivotpos+1..high],并使左边子区间中所有记录的关键字均小于等于基准记录(不妨记为pivot)的关键字pivot.key,右边的子区间中所有记录的关键字均大于等于pivot.key,而基原创 2013-06-07 22:06:23 · 1220 阅读 · 0 评论