数据结构与算法
文章平均质量分 91
book&sword
这个作者很懒,什么都没留下…
展开
-
算法(三)排序
排序算法原理与优缺点对比排序就是让一组无序数据变为有序衡量排序算法的优劣从下面三个角度解析1、时间复杂度最好时间复杂度、最坏时间复杂度、平均时间复杂度2、空间复杂度若空间复杂度是1,也叫做原地排序3、稳定性相等的数据对象,在排序之后,顺序是否保证不变排序算法一、冒泡排序原理从第一个数据开始,一次比较相邻元素的大小。若前者大于后者,则进行交换操作,将大的元素往后交换。经过多次迭代,直到没有交换操作像是在一个水池中处理数据一样,每次把最大的数据传递到最后性能最好时间复杂度:O(原创 2021-11-26 19:40:30 · 547 阅读 · 0 评论 -
算法思维(二):分治
分治:如何利用分治法完成数据查找核心思想就是“分而治之”把一个大规模、高难度的问题,分解为若干个小规模、低难度的小问题小问题的答案合并,来得到原问题的答案很多高效率的算法都是以分治法作为其基础思想,例如快速排序和归并排序。分治法是什么?计算机求解问题所需最小时间,与其涉及的数据规模强相关比如:在一个包含 n 个元素的无序数组中,要求按照从小到大的顺序打印其 n 个元素。n 个元素之间的两两比较的计算方法,得到从小到大的序列当数据量 n = 1 时,不需任何计算,直接打印即可;当数据量 n原创 2021-11-08 21:16:33 · 164 阅读 · 0 评论 -
算法思维(一):递归
算法思维基础递归(Recursion)函数定义中使用函数自身的方法1、递归问题可以分解为若干个规模较小,与原问题形式相同的子问题。并且这些子问题可以用完全相同的解决思路来解决2、递归问题的演化过程是一个对原问题从大到小进行拆解的过程,并且有一个明确的终点(临界点)。一旦原问题到达临界点,不再往更小的问题拆解。最后从这个临界点开始,将小问题的答案按照原路返回。原问题得以解决递归的基本思想就是将大规模问题转化为规模小的相同子问题来解决大问题和小问题是一样的问题,因此大问题的解决方法和小问题的相同,产原创 2021-11-08 20:07:15 · 822 阅读 · 0 评论