算法
sunflower_Yolanda
积极乐观的程序媛
展开
-
排序算法总结
一、插入排序 直接插入排序 每次选择一个元素KK插入到之前已排好序的部分A[1…i]A[1…i]中,插入过程中K依次由后向前与A[1…i]A[1…i]中的元素进行比较。若发现发现A[x]≥KA[x]\geq K,则将K插入到A[x]的后面,插入前需要移动元素。 时间复杂度: 最好的情况下:正序有序(从小到大),这样只需要比较n次,不需要移动。因此时间复杂度为O(n)O(n) 最坏的情况下:逆序有原创 2015-09-18 10:18:43 · 430 阅读 · 0 评论 -
查找算法总结
一、顺序查找: 时间复杂度:O(n)O(n) 二、二分查找: 时间复杂度:O(ln(n))O(ln(n))。 由于二分查找法每次都取中位数比较,故每轮比较之后,数据都会被丢弃一半(因为待搜索元素绝对不会在这一半里面)所以,设需要搜索次数为x,数据量为n,则在最坏的情况下有2x−1≤n≤2x2^x - 1 \leq n \leq 2^x,即x约等于 ln(n)ln(n)。 递归方法: int Bin原创 2015-09-16 17:46:16 · 599 阅读 · 0 评论