随笔分类 - 1.31 |— 模块31:数据结构与算法
摘要:1、两数字之和 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回
阅读全文
摘要:1、列表查找 2、列表排序 3、lowB三人组 1、冒泡排序-优化 2、选择排序 3、插入排序 4、快速排序
阅读全文
摘要:1、什么是数据结构 2、栈:后进先出 1、什么是栈 2、栈的Python实现 3、栈的应用——括号匹配问题 4、栈的应用——迷宫问题:深度优先 1、解决思路:逆向游走算法 在一个迷宫节点(x,y)上,可以进行四个方向的探查:maze[x-1][y], maze[x+1][y], maze[x][y-
阅读全文
摘要:0、五大经典算法 1、找出下标范围 1、二分法 2、错误版本 3、ok版本 2、 返回两个数之和的下标 https://leetcode.com/problems/two-sum/?tab=Description (1)双循环版本:O(n^2) (2)二分法查找:O(nlogn) (3)建立下标li
阅读全文
摘要:1、计数排序 计数排序这么快,为什么不用计数排序呢?因为他是有限制的,你要知道列表中的最大数 如果一下来了一个很大的数,比如10000,那么占的空间就的这么大, 计数排序占用的空间和列表的范围有关系 解决这种问题的方法,可以用桶排序,都放进去可以在进行其他的排序。比如插入排序。 2、TOP10榜单:
阅读全文
摘要:1、树与二叉树 (1)二叉树 (2)二叉树的存储方式 (3)二叉树小结 2、堆 (1)什么是堆 (2)调整 3、堆排序的过程 (1)构造堆 (2)挨个出数 (3)堆排序代码 建堆 (4)练习 4、一次归并排序:两段有序 (1)流程图 (2)一次归并排序代码 5、归并排序+递归 (1)有了归并怎么用?
阅读全文
摘要:1、什么是算法 2、递归 3、时间 复杂度 (1)引入 (2)小结 (3)判断标准 (4)空间复杂度 4、列表查找:二分查找 (1)线性查找(顺序查找) (2)二分查找 (3)alex版本 (5)对比 (6)列表查找:练习 5、列表排序 6、冒泡排序 (1)冒泡排序思路 (2)基础版本 (3)冒泡排
阅读全文