• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
那一季的银杏叶
博客园 首页 新随笔 联系 订阅 订阅 管理

随笔分类 -  算法与数据结构

关于算法与数据结构的一些知识点梳理。
 
排序系列 之 堆排序算法 —— Java实现
摘要:基本概念: 二叉堆是完全二叉树或者是近似完全二叉树。 当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。 当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。 一般将二叉堆简称为堆。 基本思想: 1.把n个元素建立最大堆,把堆顶元素A[0]与待排序序列的最后一个数据A[n-1]交换 阅读全文
posted @ 2017-03-21 17:57 那一季的银杏叶 阅读(767) 评论(0) 推荐(0)
排序系列 之 归并排序算法 —— Java实现
摘要:基本思想: 归并排序法是分治法的典型实例,分为分割和归并两部分。 把一个数组分为大小相近的子数组(分割),分别把子数组排好序后,通过合成一个大的排好序的数组(归并)。 实例: 先分割成每个子序列只有一个元素,然后再两两归并。 归并排序是稳定的排序算法,时间复杂度为:O(NlogN). Java实现: 阅读全文
posted @ 2017-03-20 17:29 那一季的银杏叶 阅读(304) 评论(0) 推荐(0)
排序系列 之 希尔排序算法 —— Java实现
摘要:基本思想: 希尔排序的实质就是分组插入排序,又称缩小增量法。 将整个无序序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序时,再对全体元素进行一次直接插入排序。 因为直接插入排序在元素基本有序的情况下,效率是很高的,因 阅读全文
posted @ 2017-01-10 11:38 那一季的银杏叶 阅读(4948) 评论(0) 推荐(0)
排序系列 之 快速排序算法 —— Java实现
摘要:基本思想: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 1.设置 low=0, high=N-1。 2.选择一个基准元素赋值给temp,即te 阅读全文
posted @ 2017-01-10 10:44 那一季的银杏叶 阅读(559) 评论(0) 推荐(0)
排序系列 之 冒泡排序及其改进算法 —— Java实现
摘要:冒泡排序算法 冒泡排序算法 改进一 冒泡排序算法 改进二 冒泡排序算法 改进三 冒泡排序算法 基本思想: 在要排序的一组数中,对当前还未排好序的范围内的全部数据,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的数往上冒。即依次比较相邻的两个数,若发现它们的排序与排序要求相反时,就将 阅读全文
posted @ 2017-01-09 16:03 那一季的银杏叶 阅读(1167) 评论(1) 推荐(0)
排序系列 之 折半插入排序算法 —— Java实现
摘要:基本思想: 折半插入算法是对直接插入排序算法的改进,排序原理同直接插入算法: 把n个待排序的元素看成一个有序表和一个无序表,开始时有序表中只有一个元素,无序表中有n-1个元素;排序过程即每次从无序表中取出第一个元素,将它插入到有序表中,使之成为新的有序表,重复n-1次完成整个排序过程。 与直接插入算 阅读全文
posted @ 2017-01-03 11:55 那一季的银杏叶 阅读(11682) 评论(0) 推荐(2)
排序系列 之 直接插入排序算法 —— Java实现
摘要:直接插入排序算法 基本思想: 把n个待排序的元素看成一个有序表和一个无序表,开始时有序表中只有一个元素,无序表中有n-1个元素;排序过程即每次从无序表中取出第一个元素,将它插入到有序表中,使之成为新的有序表,重复n-1次完成整个排序过程。 实例: 0.初始状态 3,1,5,7,2,4,9,6(共8个 阅读全文
posted @ 2017-01-03 11:05 那一季的银杏叶 阅读(18953) 评论(0) 推荐(3)
排序系列 之 简单选择排序及其改进算法 —— Java实现
摘要:简单选择排序算法: 基本思想: 在待排序数据中,选出最小的一个数与第一个位置的数交换;然后在剩下的数中选出最小的数与第二个数交换;依次类推,直至循环到只剩下两个数进行比较为止。 实例: 0.初始状态 3,1,5,7,2,4,9,6(共8个数) 1.n=8 个数中,最小数值为1,与第一个数交换:1,3 阅读全文
posted @ 2017-01-03 10:25 那一季的银杏叶 阅读(1378) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3