![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 73
drrlalala
这个作者很懒,什么都没留下…
展开
-
各种排序算法的分析及java实现
文章转载自http://www.cnblogs.com/liuling/p/2013-7-24-01.html,仅供学习参考 各种排序算法的分析及java实现 排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。转载 2015-03-15 17:16:51 · 404 阅读 · 0 评论 -
以“挖坑填数”思想理解快速排序
文章转载自http://blog.csdn.net/morewindows/article/details/6684558 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。转载 2015-03-16 16:22:09 · 1010 阅读 · 0 评论 -
白话经典算法系列之五 归并排序的实现
转载自http://blog.csdn.net/morewindows/article/details/6678165 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再转载 2015-03-16 16:40:01 · 336 阅读 · 0 评论 -
八种排序方法总结
一、稳定性: 稳定:冒泡排序、插入排序、归并排序和基数排序 不稳定:选择排序、快速排序、希尔排序、堆排序 二、平均时间复杂度 O(n^2):直接插入排序,简单选择排序,冒泡排序。 在数据规模较小时(9W内),直接插入排序,简单选择排序差不多。当数据较大时,冒泡排序算法的时间代价最高。性能为O(n^2)的算法基本上是相邻元素进行比较,基本上都是稳定的原创 2015-03-16 20:33:13 · 685 阅读 · 0 评论 -
三大查找方法
三种查找算法:顺序查找,二分法查找(折半查找),分块查找,散列表(以后谈) 一、顺序查找的基本思想: 从表的一端开始,顺序扫描表,依次将扫描到的结点关键字和给定值(假定为a)相比较,若当前结点关键字与a相等,则查找成功;若扫描结束后,仍未找到关键字等于a的结点,则查找失败。 说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到就失败。很转载 2015-03-16 20:37:23 · 2016 阅读 · 0 评论