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

数据结构与算法学习笔记

数据结构与算法学习笔记

关注
4 已关注
18篇博文
  • 循环队列

    前几天的面试中,面试官问我项目中数据缓冲的一些问题,我讲了一下我是怎么处理的,然后给自己挖了个坑,我说还可以优化(然而优化方式似乎并不合他意),然后面试官提到了循环队列(然而我只是听过,并没有用过,也...

    2017-08-15 17:45
    298
  • 全排列问题算法及实现(Permutation)

    前言 做项目遇到数据采集系统中ADC拼合问题,如果顺序不对,波形就是错误的(题外话),为了找到正确的顺序,涉及到排列问题。 什么是排列组合 定义 一般地,从n个不同元素中取出m(m≤n)个...

    2016-12-19 21:23
    547
  • 编程珠玑-笔记1

    为什么要自己造轮子Ex: 怎样给一个磁盘文件排序? 不同的排序条件,比如待排序大小,可提供的内存空间不同,都会使程序不同,所以我们不能盲目的使用系统提供的排序功能 所以对小问题的仔细分析有时可以...

    2016-12-12 20:50
    201
  • Introduction of Algorithm - Divide and Conquer(分治法)

    Divide and Conquer(分治法): 1. Divide:     the problem(instance) into one or more subproblems.(把问题分解成一个...

    2016-05-29 15:50
    340
  • 数据结构之栈

    一、栈(Stack)的结构 数据先进先出(first in last out)如图所示: 例如日常生活中我们把盘子摞起来,最先放置的盘子,最后才能取出。 二、栈操作实例 如下图所示: ● ...

    2016-07-10 20:21
    334
  • C++链表的创建与操作

    我们知道,数组式计算机根据事先定义好的数组类型与长度自动为其分配一连续的存储单元,相同数组的位置和距离都是固定的,也就是说,任何一个数组元素的地址都可一个简单的公式计算出来,因此这种结构可以有效的对数...

    2016-08-06 17:26
    3077
  • Tree-BFS(Breadth-First-Search)

    BFS-Breadth First Search-广度优先搜索 广度优先搜索(Breadth First Search)又叫宽度优先搜索或层次优先搜索或横向优先搜索,从根结点开始沿着树的宽度搜索,可以...

    2016-08-19 11:54
    336
  • Tree-DFS(Depth-First-Search)

    DFS-Depth First Search-深度优先搜索 对于一颗二叉树,深度优先搜索(Depth First Search)是沿着树的深度遍历树的结点,尽可能深的搜索数的分支。先访问根结点,然后遍...

    2016-08-19 15:00
    330
  • Tree-Traversing Binary Tree

    Traversing Binary Tree-二叉树的遍历 Definition: 二叉树的遍历是指从根结点出发,按照某种次序依次访问二叉树中所有结点,使得每个结点被访问一次且仅被访问一次。这里有两个...

    2016-09-05 16:43
    220
  • Sorting Algorithm-Summarize

    从算法的简单性能来看,我们将这些排序算法分为两类: 简单排序:冒泡、简单选择、直接插入 改进算法:希尔、堆、归并、快速 从平均情况来看,显然最后3种改进算法要胜过希尔排序,并远远胜过前3种简单算...

    2016-09-04 17:47
    382
  • Sorting Algorithm-Quick Sort

    Quick Sort-快速排序 快速排序(Quick Sort)的基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行...

    2016-09-04 11:25
    407
  • Sorting Algorithm-Merging Sort

    Merging Sort-归并排序 Algorithm:     归并排序就是利用归并的思想实现排序的方法。它的原理是假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,...

    2016-09-04 10:33
    351
  • Sorting Algorithm-Heap Sort

    Heap Sort-堆排序 Algorithm: 堆排序就是利用堆(假设是大顶堆)进行排序的方法。它的基本思想是,将待排序的序列构造成一个大顶堆。此时,整个序列的最大值就是堆顶的根结点。将它移走(...

    2016-09-03 10:31
    397
  • Sorting Algorithm-Shell Sort

    Shell Sort-希尔排序 Algorithm: 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成...

    2016-08-28 11:43
    222
  • Sorting Algorithm-Straight Insertion Sort

    插入排序-Insertion Sort Algorithm: 每一步都将一个待排序数据按其大小插入到已经排序的数据中的适当位置,知道全部插入完毕。 Ex: 4,3,1,2      从3开始插入,3...

    2016-08-28 11:03
    264
  • Sorting Algorithm-Simple Selection Sort

    Selection Sort-选择排序 Algorithm: 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存在序列的起始位置,知道全部带排列的数据排完 Ex: 4,3,1,2      第...

    2016-08-28 11:27
    246
  • Sorting Algorithm-Bubble Sort

    冒泡排序-Bubble Sort Algorithm: 重复地走访过要排序的数列,一次比较两个元素,如果两个元素顺序错误,就把他们交换,知道没有再需要交换的元素为止像水中的泡泡一样,大的先冒出来,小的...

    2016-08-28 11:12
    276
  • Sorting Algorithm-PreKnowledge

    作为《大话数据结构》的笔记 一、什么是排序 假设含有n个记录的序列{R1,R2,...,Rn},其相应的关键字分别为{k1,k2,...,kn},需确定1,2,...,n的一种排列p1,p2,.....

    2016-08-30 20:52
    256
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部