数据结构与算法
文章平均质量分 92
健鑫.
大厂数据开发,专注于分享学习经验以及大数据领域相关知识,欢迎关注~
展开
-
算法练习-二叉树(一)
算法练习-二叉树(一)原创 2023-03-19 14:46:49 · 660 阅读 · 15 评论 -
算法练习-哈希表(一)
假设又100个学生,如何根据id快速查找学生信息?方案一:将所有的学生都存在一个数组中,查找id时遍历数组,时间复杂度:O(n)方案二:将数组中的数据进行排序,查找时使用二分查找,时间复杂度:O(logn)方案三:将数组下标与id一一映射 , 时间复杂度:O(1)但是如果id的范围很大,还是进行一一映射,空间开销就特别的大所以可以对id进行hash处理:id 对学生的数量取余,结果为存到数组的位置但是会产生一个问题:可能会出现多个学生取余结果相同的问题,这种情况需要解决哈希冲突。原创 2023-03-14 16:28:31 · 681 阅读 · 6 评论 -
算法练习-二分查找(二)
二分查找练习原创 2023-03-07 21:27:24 · 481 阅读 · 0 评论 -
算法练习-二分查找(一)
二分查找的正确姿势:- 查找区间永远是闭区间[low, high]- 循环条件永远是:low < high- 对于low == high的情况,必要的时候特殊处理,在while内部补充退出条件- 返回值永远是mid,不是low、high- low、high的更新永远是low = mid + 1 和 high = mid - 1- 对于非确定性查找,使用前后探测法来确定搜索区间- 先处理命中目标,再处理左右半部分查找的情况原创 2023-03-06 09:15:25 · 388 阅读 · 0 评论 -
算法练习-排序(二)
逆序对个数=逆序度,排序的过程是不断减小逆序度的过程,在排序过程中,记录每步操作逆序度降低的个数,累加起来就能得到原始数据的逆序度。解释:对数组重新排序得到 [1,3,5] 或者 [5,3,1] ,任意相邻两项的差分别为 2 或 -2 ,可以形成等差数列。输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输入:intervals = [[1,4],[4,5]]原创 2023-03-04 20:47:49 · 679 阅读 · 0 评论 -
算法练习-排序(一)
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。先把数组中的一个数当作基准数,一般把数组最左面的数当作基准数,然后从两边进行检索。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。输入: [3,2,3,1,2,4,5,5,6], k = 4。输入: [3,2,1,5,6,4], k = 2。原创 2023-03-01 21:43:35 · 352 阅读 · 0 评论 -
算法练习-递归
有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。一个细胞的生命周期是3小时,1小时分裂一次,求n小时后容器内有多少个细胞。当前时间点,死亡的细胞个数,为三个小时前分裂出的净细胞个数,原创 2023-02-26 11:17:07 · 435 阅读 · 0 评论 -
算法练习-栈和队列(二)
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。原创 2023-02-24 17:39:05 · 361 阅读 · 0 评论 -
算法练习 - 栈和队列(一)
用两个栈实现一个队列。你应该实现push(stackNum, value)、pop(stackNum)、isEmpty(stackNum)、peek(stackNum)方法。你可以使用 list (列表)或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。原创 2023-02-21 19:35:40 · 226 阅读 · 0 评论 -
算法练习-链表(二)
链表的练习原创 2023-02-19 19:37:40 · 392 阅读 · 0 评论 -
算法练习-链表(一)
链表的练习原创 2023-02-17 19:59:06 · 536 阅读 · 0 评论