数据结构与算法
记录常用的算法
I'm you.
这个作者很懒,什么都没留下…
展开
-
《漫画算法-小灰的算法之旅》- 学习笔记
一、算法概述1、什么是数据结构线性结构树图比如有向图其他结构2、时间复杂度一个评估算法运行时间的量级O(n),O(n2)等3、空间复杂度衡量占用空间的标准以输入空间n为基准空间复杂度分类:常量空间线性空间二维空间递归空间二、数据结构基础1、数组线性顺序存储随机访问效率高删除困难,时间复杂度O(n),只要涉及到移动,复杂度都是O(n)有范围限制数组的优势与劣势###优势:随机访问效率高二分查找的高效查找算法,就原创 2020-09-15 18:03:25 · 283 阅读 · 0 评论 -
迭代和递归区别
(以下纯属自我理解的!)一、递归在函数里面调用函数自己,一层一层进入A处的最里层,再从最里层的B处一层一层执行出来。二、迭代迭代是反复调用别的函数。原创 2020-10-20 20:10:19 · 85 阅读 · 0 评论 -
算法----快速排序
一、原理: 快速排序,说白了就是给基准数据找其正确索引位置的过程. (挖坑填洞,选择一个基准,序列中的每个数去与基准进行比较,比基准大的放一边,比基准小的放另一边)步骤: ①先从队尾开始向前扫描且当low < high时,如果a[high] > tmp,则high–,但如果a[high] < tmp,则将high的值赋值给low,即arr[low] = a[high],同时要转换数组扫描的方式,即需要从队首开始向队尾进行扫描了 ②同理,当从队首开始向...转载 2020-10-13 13:43:20 · 204 阅读 · 0 评论 -
算法----二分查找
一、 作用和要求当我们要从一个序列中查找一个元素的时候,二分查找是一种非常快速的查找算法,二分查找又叫折半查找。它对要查找的序列有两个要求: 一是该序列必须是有序的(即该序列中的所有元素都是按照大小关系排好序的,升序和降序都可以 二是该序列必须是顺序存储的 图1展示的就是一个能进行二分查找的序列。如果一个序列是无序的或者是链表,那么该序列就不能进行二分查找。之所以被查找的序列要满足这样的条件,是由二分查找算法的原理决定的。二、 算法原理二分查找算法的原理如下(以.原创 2020-10-13 11:25:22 · 1175 阅读 · 0 评论