经典算法
经典算法
sansanan
学生一枚,记录自己的成长
展开
-
经典算法学习(一)排序之冒泡排序
算法即内功排序1.排序是什么排序简单来说就是以升序或者是降序来排列数据的算法。2.为什么要排序排序是计算机科学中非常重要的的一类算法,排序可以显著地降低问题的复杂性。比如查找。3.排序的分类基于比较次数基于交换次数基于空间复杂度基于递归基于稳定性这些基本概念我也好模糊,通过后面一步步的学习应该会越来越清楚的。冒泡排序冒泡排序是最简单的一种排序算法。它从输入数组的...原创 2019-10-09 19:28:59 · 320 阅读 · 0 评论 -
经典算法学习(一)排序之选择排序与插入排序
算法即内功选择排序选择排序是一种就地排序。选择排序适用数据量小的时候。排序是基于关键量。在迭代的时候与关键量进行比较,在需要交换的时候再交换。优点:易于实现。(很简单,正常思路排序)就地排序,不需要额外的存储空间。缺点:扩展性不是很好:O(n^2)算法:1.选择最小(大)值放在第一个位置。2.选择剩下元素的最小(大)值放在第二个位置。3.就这样一直选择,直到最后。...原创 2019-10-10 19:08:35 · 234 阅读 · 0 评论 -
经典算法学习(一)排序之二分插入排序
算法即内功二分插入排序基本思想:思想和插入排序是一样的,只是在寻找插入位置时不一样。普通插入排序在寻找插入位置时从已有序的序列从尾到头遍历寻找插入位置。这样的遍历就会浪费大量的时间去比较。这里我们其实应该很容易就能想到这种优化思想。因为待插入的是有序序列。我们为何不用更快的方法来寻找插入位置呢。在查找中我们学习了二分查找。正是要在序列有序的情况下使用。所以我们也采用这种思想去寻找插入位置...原创 2019-10-11 20:04:10 · 537 阅读 · 0 评论