数据结构与算法
文章平均质量分 65
飞在天空中的野草帽
生活有苦有甜,正待细细品味!
展开
-
算法入门之分治法
力扣习题跟"着爱学习的饲养员"练习的,感觉讲的不错1、什么是分治法?分治法是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。2、分治法有什么特点?分–将问题分解为规模更小的子问题;治–将这些规模更小的子问题逐个击破;合–将已解决的子问题合并,最终得出“母”问题的解;3、力扣练习题本题只是练习分治法,并不是该题的最优解练习题:169、多数元素给定一个大小为 n 的数组,找到其中的多数元素。多数原创 2021-05-15 21:41:08 · 209 阅读 · 0 评论 -
算法入门之递归
1、什么是递归算法?递归算法就是一个函数通过不断对自己的调用而求得最终结果的一种思维巧妙但是开销很大的算法。2、递归应注意的问题?接受的参数返回值终止条件递归拆解3、力扣练习题练习题:509 斐波那契数斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给你 n ,请计算 F(n)原创 2021-05-15 21:27:01 · 58 阅读 · 0 评论 -
算法入门之二分查找法
1、什么是二分查找法?对一个数组或链表中的有序元素表进行折半查找。当目标数大于折半数时,在数组或链表右边查找;小于时,在左边查找;等于时,查找完毕;否则再次循环折半查找,直到找到目标数为止。2、力扣练习题练习题1:704、二分查找给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4原创 2021-05-15 21:22:05 · 145 阅读 · 0 评论 -
算法入门之双指针
算法入门之双指针1、什么是指针?在百度百科中这样规定:指针是一个占据存储空间的实体在这一段空间起始位置的相对距离值。在C/C++语言中,指针一般被认为是指针变量,指针变量的内容存储的是其指向的对象的首地址,指向的对象可以是变量(指针变量也是变量),数组,函数等占据存储空间的实体。即:指针就是变量2、什么是双指针?指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向或者相反方向的指针进行扫描,从而达到相应的目的。即:指向两个变量的指针3、常见的双指针类型有哪些?普通原创 2021-05-10 22:34:48 · 155 阅读 · 0 评论