算法
文章平均质量分 66
算法相关
White--Night
个人博客:white-night.club
有事可博客/邮件联系。
展开
-
如何计算运行时间(即计算时间复杂度)
一次for循环的运行时间至多是该for循环内语句(包括测试)的运行时间乘以迭代的次数。这个很简单,就不说了。n次循环那它的时间复杂度就是O(N)。原创 2023-03-19 16:10:16 · 795 阅读 · 0 评论 -
二分查找及其复杂度计算
l:left,即当前区间最左边的元素下标 A:数组名r:right,即当前区间最右边的元素下标 n:数组长度m:middle,即(左区间区间元素下标+右区间元素下标)/2。原创 2023-03-14 00:53:05 · 1228 阅读 · 0 评论 -
二叉树的深度优先遍历(DFS)与广度优先遍历(BFS)
以这个二叉树为例子,深度优先遍历指的是从根节点A开始,先遍历左子树;当左子树遍历完时回到根节点A,再开始遍历右子树,直到遍历完了树的所有节点。(不用队列实现的话有点麻烦,需要为每个节点拓展一个level域来存放对应的层级,这里附上在C++中的实现过程),当然用队列的方法肯定简单点。还是拿这个二叉树来举例,广度优先遍历就类似于二叉树的层次遍历,从根节点开始逐层向下遍历。其实就是前序遍历,可用递归也可用非递归(队列)的方式来实现。遍历后的结果应为:ABDC。遍历结果应为:ABCD。实现方法可以用队列和。原创 2022-11-11 00:38:31 · 428 阅读 · 0 评论