博客专栏  >  编程语言   >  数据结构与算法

数据结构与算法

学习数据结构和算法导论的心得总结

关注
1 已关注
12篇博文
  • 排序算法学习总结

    排序算法学习总结 排序算法在经典算法里面是非常重要的,于是花了点时间将之前学习的常见的排序算法进行总结。 对于每种排序算法,需要理解以下问题: 1.算法思想是什么 2.时间复杂度 3.稳定性 4.什...

    2015-11-20 16:09
    1523
  • 【算法】桶排序

    桶排序 桶排序(Bucket Sort)假设输入数据服从均匀分布,然后将输入数据均匀地分配到有限数量的桶中,然后对每个桶再分别排序,对每个桶再使用其他的排序算法,最后将每个桶中的数据有序的组合起来。前...

    2015-11-19 13:18
    2535
  • 【算法】希尔排序

    希尔排序 希尔排序(Shell Sort)是插入排序的一种更高效的改进版本。他是通过比较相距一定间隔的元素来工作,各趟比较所用距离随着算法的进行而减小,直至只比较相邻元素的最后一趟排序,因此也称递减增...

    2015-11-19 13:18
    1116
  • 【数据结构】平衡二叉树之AVL树

    平衡二叉排序树 平衡二叉排序树(Balanced Binary Sort Tree),上一篇博客【数据结构】二叉排序树BST讲了BST,并且在最后我们说BST上的操作不会超过O(h),既然树高这么重要...

    2015-11-16 19:57
    1863
  • 【数据结构】二叉排序树BST

    二叉排序树 二叉排序树(Binary Sort Tree)也叫二叉搜索树(Binary Search Tree) 二叉排序树本质上还是一个二叉树,只不过在其上定义了一些规则:一个结点的左子树中所有的结...

    2015-11-14 11:20
    1596
  • 【数据结构】二叉树

    前言 数据结构还是大二的时候学过的,当然由于是非计算机专业的学生,所以学的也不怎么样,去年用c++实现了最基本的数据结构,链表/栈/队列/二叉树,三月份看的时候还贴到了博客上。然而当时由于代码量不够,...

    2015-11-13 19:01
    2811
  • 【算法】堆排序

    堆排序 上一篇博客讲了堆这种数据结构,它提供了一种接口getMax接口,好消息是获得最大值的时间复杂度仅仅为O(1),删除最大值delMax也仅仅需要O(lgn)的时间(删除后需要调整至满足堆的性质...

    2015-11-12 12:45
    1456
  • 【数据结构】堆

    堆 这种数据结构。一般堆用来实现优先级队列。优先级队列:和通常的栈和队列一样,只不过里面的每个元素都有一个“优先级”,在处理的时候,首先处理优先级最高的。通常包含三个操作getMax/delMax/...

    2015-11-12 10:27
    1424
  • 【算法】基数排序

    计数排序 学习基数排序之前首先学习计数排序。 计数排序假设每个元素都是在0到k之间的一个整数。 基数排序的基本思想,对于每个元素x,如果我们知道了小于x的元素的个数,就可以确定输出数组中元素x的...

    2015-11-11 15:01
    2181
  • 【算法】快速排序/数组第K小的元素

    快速排序 和归并排序一样,也是采用分治(Divide and Conquer)思想。分为三步: 分解:将数组A[p...q]划分成两个数组A[p..r-1]和A[r+1..q],使得A[p..r-...

    2015-11-10 23:04
    2223
  • 【算法】归并排序

    归并排序 采用分治(Divide and Conquer)思想。 主要思想:将数组分成两部分,如果这两部分均有序,那么便可在O(n)的时间内合并成一个完整的有序数组。 以此类推将区间划分下去...

    2015-11-10 21:10
    1235
  • 【算法】插入排序/冒泡排序/选择排序

    插入排序 插入排序的思想为:从数组的第二个元素开始遍历整个数组。针对每个元素,依次将其前面的所有元素和他进行比较,大于它的元素均向后移动,最后将该元素插入。 插入排序是一种稳定的排序算法。 时间...

    2015-11-10 20:33
    1464

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部