zoukankan      html  css  js  c++  java
  • [算法] 基本概念

    排序:

    1. 冒泡排序:每次比较相邻两个元素大小,交换,直到末尾,循环执行;稳定
    2. 选择排序:每次从待排序列中找出最大(最小)元素放在起始位置,循环执行;稳定
    3. 插入排序:不断将新元素插入到前面已排好序的序列中;稳定,比冒泡和选择更快;适于基本有序集合
    4. 希尔排序:插入排序的改进,将数据按步长分组,每组进行插入排序,不断缩减步长;不稳定;不适于链式存储结构
    5. 折半插入排序:插入排序的改进,插入已排好续数组中时采用二分查找;稳定,比直接插入更快
    6. 堆排序:若升序,则构造大顶堆,然后交换元素,循环执行;不稳定
    7. 快速排序:选择一个初始数,两个指针从收尾分别出发,找到大于(小于)初始数时做交换,循环执行;不稳定
    8. 深度优先排序:对每一个分支深入到不能深入为止,且每个结点只访问一次
    9. 广度优先排序:

    查找:

    1. 二分查找:数据已排好序,存储空间连续,不能频繁插入删除元素(O(logN))
    2. 二叉搜索树:需要经常插入删除元素(O(h))(h为树高)
    3. 散列:数据在存放和查找时都经过散列函数处理得到定位(O(N))
  • 相关阅读:
    sed 练习
    正则表达式
    字符转换命令
    命令执行判断依据
    shell 操作环境
    选取命令
    排序命令
    命令别名与历史命令
    变量的学习
    防止恶意跳转
  • 原文地址:https://www.cnblogs.com/cxc1357/p/10818486.html
Copyright © 2011-2022 走看看