技术分享Web前端之路让前端飞

《写给大家看的算法书》笔记

2017-03-26  本文已影响200人  Canace22

一、什么是算法

  1. 算法是对特定问题的解决步骤(对信息进行排序、搜索目标信息等);

二、 变量和数组

  1. 算法由数据和处理构成;

三、数据结构——高效的管理大量数据的构造

  1. 常用的数据结构:

四、算法基础

  1. 循环处理和控制变量

排序算法

  1. 几种常用的排序算法
    • 桶排序
      概念:
      准备与待排序数据取值范围大小个数的木桶,利用这些木桶对数据进行保存、排序。
      排序过程:
      (1)准备好木桶数据,把其所有元素初始化为0;
      (2)把保存排序数组(n个数据)的下标的变量i初始化为0;
      (3)i小于n时,循环执行4~5;
      (4)把data[i]代入变量value;
      (5)bucket[value]加1;
      (6)i加1;
      (7)从bucket的起始元素开始,把每个数值非0的元素的下标按照数值(出现次数)取出来,排成一列。
    • 选择排序
      概念:
      遍历数据,把数据中的最大值(或最小值)与起始(或者末尾)数据进行交换。
      排序过程:
      (1)从“待排序部分”中找到最小值;
      (2)把最小值和“待排序部分起始位置的元素”交换;
      (3)“待排序部分”的起始位置向后移动一位;
      (4)循环操作1~3,直至“待排序部分”只剩下一个元素。
    • 冒泡排序
      对比相邻的两个数据,根据大小关系调整两个数据的顺序。
    • 插入排序
      把目标数据按照正确的大小排列顺序插入相应的位置中。
    • 归并排序
      把目标数据分割成更小的部分进行排序,更小的部分正确排序之后再合并起来。
    • 希尔排序
      把目标数据按照一定的个数分成几个区域进行插入排序。
    • 快速排序
      从目标数据中任意选取一个数据,以这个数据的值为分割点,把目标数据分割为两部分。这样循环操作下去进行排序。

搜索算法

  1. 常用的搜索算法:
上一篇下一篇

猜你喜欢

热点阅读