LeetCode
文章平均质量分 61
沙琪玛大王
这个作者很懒,什么都没留下…
展开
-
BST树与AVL树
BST为二叉树左子数所有节点都小于根节点,右子树所有节点大于根节点每个节点的左右子树也是BST可以在O(logN)时间复杂度内查找一个数是否存在int data;AVL树是一颗自平衡的二叉树每个节点都有一个平衡因子 p = Height(leftSon) - Height(RightSon)若每个节点的平衡因子的绝对值均<=1,该树是AVL树int data;int height;原创 2024-09-17 20:21:33 · 676 阅读 · 0 评论 -
排序算法合集
时间复杂度O(N*logN),额外空间复杂度O(logN)时间复杂度O(N*logN),额外空间复杂度O(1)时间复杂度O(N*logN),额外空间复杂度O(N)时间复杂度O(N*logN),额外空间复杂度O(1)时间复杂度O(N^2),额外空间复杂度O(1)时间复杂度O(N^2),额外空间复杂度O(1)时间复杂度O(N^2),额外空间复杂度O(1)时间复杂度O(N+k),额外空间复杂度O(k)原创 2024-09-15 23:07:06 · 299 阅读 · 0 评论 -
二叉树的创建与遍历
除根节点外每个节点都有一个父节点每个结点可以有一个、两个或者没有子节点从0开始的数组表示(适用于密集二叉树)中:左子节点 2 * i + 1 ,右子节点 2 * i + 2int data;原创 2024-09-16 14:31:09 · 254 阅读 · 0 评论 -
利用异或运算摆脱额外变量完成数据交换
a^b 相同为0,不同为1。原创 2024-09-11 19:40:34 · 251 阅读 · 0 评论 -
时间复杂度和二分查找法
评价一个算法的好坏,先看时间复杂度的指标,再分析不同数据样本下的实际运行时间,也就是“常数项时间”。若a[i]>a[i+1]&&a[j]<a[j+1]&&i<j,在a[i]至a[j+1]间进行二分查找。在表达式中,只要高阶项除去系数的部分,记为O(N^x)。一个数组中每个数左边比当前数小的数累加起来,叫做这个数组的小和。实现一个随机样本产生器,用方法a和方法b跑相同的随机样本,观察结果是否一致。有一个想测的方法a以及实现复杂度不好但是容易实现的方法b。上述代码T(N)=2*T(N/2)+O(1)原创 2024-09-11 13:16:04 · 818 阅读 · 0 评论