选择排序: 数据较少时可以用,缺点:时间复杂度n的平方,优点:空间复杂度小 具体实现: /** * 选择排序 * * @param $array * @return mixed */ public function sort($array) { $len = count($array); if ($ ...
分类:
编程语言 时间:
2021-07-12 18:06:27
阅读次数:
0
看见一句话,感觉很好,记录一下:贵有恒,何须三更醒五更眠。最无益,莫过一日曝十日寒。 谈到中序遍历,常规的思路一个是递归,一个是迭代,其中迭代的思想需要显式的维护一个栈,以此来辅助遍历,但这连两种方法都不能达到O1的空间复杂度。刷题的时候看到一个巧妙的方法,利用二叉树中的闲散指针,每个节点访问两次, ...
分类:
其他好文 时间:
2021-07-05 16:53:36
阅读次数:
0
恢复内容开始 算法期末考试复习题 XD专用 program 2 1、归并排序在最差最好平均情况下的时间复杂度分别是多少? 答案:nlgn nlgn 2、(判断) 归并排序的空间复杂度是O(1)? (判断) 答案:false 应该是 O(n) 3、优先队列提取最大元素的算法时间复杂度?(用O表示) 答 ...
分类:
编程语言 时间:
2021-06-29 15:31:00
阅读次数:
0
1. 原理: 递归:函数自己调用自己 1 function fn() { 2 fn(); 3 } 4 fn();//会导致栈溢出 1 function fn() { 2 setTimeout(fn,0); 3 } 4 fn();//不会导致栈溢出 2. 代码实现: 3.时间复杂度: 空间复杂度: ...
分类:
编程语言 时间:
2021-06-28 19:12:32
阅读次数:
0
##一、数组的创建与元素赋值 杨辉三角(针对二维数组) /* 使用二维数组打印一个10行杨辉三角 【提示】 1.第一行有1个元素,第n行有n个元素 2.每一行的第一个元素和最后一个元素都是1 3.从第三行开始,对于非第一个元素和最后一个元素的元素 即:yanghui[i][j] = yanghui[ ...
分类:
编程语言 时间:
2021-06-22 18:28:19
阅读次数:
0
问题描述:给定一个数组arr,和一个数num,请把小于num的数放在数组的 左边,等于num的数放在数组的中间,大于num的数放在数组的 右边。 要求额外空间复杂度O(1),时间复杂度O(N) 问题分析:这部分其实和快排中的partition部分很相似,其思想就是将任意一个数组分成三部分,分别是小于 ...
分类:
其他好文 时间:
2021-06-17 16:35:19
阅读次数:
0
题目链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/ 题目描述: 题解: 空间复杂度:O(1) 1.先找出字符串中含有多少个空格 2.对原字符串空间扩容 3.定义两个指针,一个指向新字符串的末尾,一个指向原始字符串的末尾 class ...
分类:
其他好文 时间:
2021-06-16 18:33:53
阅读次数:
0
最近做题发现自己并不知道什么时候该用树套树,就来总结一下 一、静态整体kth 排序输出 sort(a+1,a+n+1); printf("%d\n",a[k]); 时间复杂度O(nlogn) 空间复杂度O(n) 二、动态整体kth 权值线段树+二分 查询时先查询左子树和sum,比较k和sum的大小: ...
分类:
其他好文 时间:
2021-06-13 10:21:17
阅读次数:
0
LeetCode 2. Add Two Numbers(两数相加) 题目 链接 https://leetcode-cn.com/problems/add-two-numbers 问题描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 ...
分类:
其他好文 时间:
2021-06-06 18:53:03
阅读次数:
0
时间复杂度:O(N2) 空间复杂度:O(1) 稳定性:稳定 // 冒泡排序 void bubble_sort(int list[], int listSize) { int i, j, flag; int temp; for (i = listSize - 1; i >= 1; --i) { fla ...
分类:
编程语言 时间:
2021-06-02 13:42:30
阅读次数:
0