![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 88
爱笑君吖
努力不一定会成功,但不努力一定不会成功,要相信越努力越幸运。
展开
-
分治算法之快速排序
分治算法之快速排序上一篇:分治算法之二分查找【含例题】快速排序概述快速排序是对冒泡排序的改进,和冒泡排序一样,同属于交换排序。其主要包括(1) Divide: 分割成两个子数组(2) Conquer: 递归处理两个子数组(3) Combine: 连接在一起核心思想数据分区:一部分比另一部分小递归排序:递归处理两部分实例分析伪代码分区函数 Partition(A, p, q)快速排序函数:QuickSort(A, p ,q)时间复杂度最坏情况(划分为原创 2021-05-20 15:00:01 · 243 阅读 · 0 评论 -
分治算法之二分查找【含例题】
概述给定已按升序排列的n个元素A[0:n-1],现要在这n个元素中找出某一特定元素(查找关键字:key)二分查找(Binary Search)又称为折半查找,是一种高效的算法。二分查找要求待查找列表中的元素是有序的核心思想设A[low…high]为当前查找区间,首先确定区间的中点位置mid=⌊(low +high)/2⌋;然后将待查的key值与A[mid]进行比较(1) 若key=A[mid],则查找成功并返回该元素的下标(2) 若key<A[mid],则查找左子表A[lo原创 2021-05-10 01:01:44 · 4643 阅读 · 2 评论 -
必须掌握的算法之一 —— 递归算法
递归算法总结文章目录递归算法总结递归的定义递归要素递归树典型递归实例用递归解决问题应满足的条件使用递归的条件递归特点典型实例之汉诺塔递归的定义在调用一个函数的过程中又出现直接或间接调用该函数本身,称为函数的递归(Recursion)调用,这种函数称为递归函数若p函数定义中调用p函数,称之为直接递归若p函数定义中调用q函数,而q函数定义中又调用p函数,称之为间接递归递归要素递归表达式(递归方程)递归结束条件(边界条件)1-100求和递归树典型递归实例求阶乘Fib原创 2021-05-04 00:25:04 · 949 阅读 · 4 评论