
算法相关
文章平均质量分 83
安然无忧
技术无捷径,一步一脚印
展开
-
冒泡排序
不是做算法的,但对基本的冒泡排序还是要做到非常熟练。 最常用的是一趟一趟的去比较,再此基础上可以稍微做点优化,比如记录当前这次是否有比较,如果没有比较认为排序完毕,就不用再做后续的比较了;或者记录最后一次比较的index,这样可以减少每趟比较的数值个数。 #include int array[10] = {56,34,89,12,4,66,33,88,23,14}; voi原创 2014-03-26 16:31:44 · 541 阅读 · 0 评论 -
8大算法图文讲解
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 本文将依次介绍上述八大排序算法。 算法一:插入排序 插入排序示意图 插入排序是一种最简单直转载 2014-08-18 20:02:13 · 859 阅读 · 0 评论 -
堆排序
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。 二叉堆的定义 二叉堆是完全二叉树或者是近似完全二叉树。 二叉堆满足二个特性: 1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。 2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。 当父结点的键值总是大于或等于任何一个子节转载 2016-04-11 16:08:50 · 466 阅读 · 0 评论