请实现一个函数,如果两个链表相交,请返回相交的第一个节点;如果不想交,返回null即可。 要求:如果链表1的长度为N,链表2的长度为M,时间复杂度请达到O(N+M),额外空间复杂度请达到O(1)。 输出: ...
分类:
其他好文 时间:
2018-08-03 14:18:34
阅读次数:
149
找到链表的倒数第n个结点 方法1: 从链表的第一个结点开始,统计当前结点后面的结点个数。如果后面结点的个数小于n 1,那么算法结束并返回消息"链表中的结点个数不足"。如果数量大于n 1,则移动到下一个结点。重复该过程直至当前结点后面的结点个数等于n 1。 [时间复杂度O(n^2),空间复杂度O(1) ...
分类:
其他好文 时间:
2018-07-30 00:30:35
阅读次数:
262
[TOC] 排序算法 排序算法之间的比较: 排序算法|最差时间分析| 平均时间复杂度| 稳定度| 空间复杂度 | | | | 冒泡排序| O(n^2) |O(n^2) | 稳定 |O(1) 选择排序| O(n^2) |O(n^2) |不稳定 |O(1) 插入排序| O(n^2) |O(n^2) |稳 ...
分类:
编程语言 时间:
2018-07-29 14:21:37
阅读次数:
179
算法复杂度:分为时间复杂度和空间复杂度。时间复杂度指的是语句执行次数,空间复杂度指的是算法所占的存储空间。 时间复杂度:指执行算法所需要的计算工作量; 空间复杂度:指执行这个算法所需要的内存空间。 kd树(K-dimension tree):是一种对k维空间中的实例点进行存储以便对其进行快速检索的树 ...
分类:
其他好文 时间:
2018-07-26 18:31:39
阅读次数:
146
/*Code function : 插入排序算法 时间复杂度:O(n*n)空间复杂度:1*/List<Integer> arrayList = new List<Integer>{3,5,4,2,6};for(Integer i = 1; i< arrayList.size(); i++) {Int ...
分类:
编程语言 时间:
2018-07-25 16:12:24
阅读次数:
126
【题目】 给定一个整型矩阵matrix,请按照转圈的方式打印它。 例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 打印结果为:1,2,3,4,8,12,16,15,14,13,9, 5,6,7,11, 10 【要求】 额外空间复杂度为O(1)。 public c ...
分类:
其他好文 时间:
2018-07-25 13:16:15
阅读次数:
114
算法之时间复杂度 虽然计算机能快速的完成运算处理,但实际上,它也需要根据输入数据的大小和算法效率来消耗一定的处理器资源。要想编写出能高效运行的程序,我们就需要考虑到算法的效率。 算法的效率主要由二哥复杂度来评估: 时间复杂度 :评估执行程序所需的时间。可以估算出程序对处理器的使用程度。 空间复杂度 ...
分类:
其他好文 时间:
2018-07-24 17:50:20
阅读次数:
147
随着硬件发展和摩尔定律的提出,空间复杂度受关注性逐渐降低。通常意义上说复杂度,指的是时间复杂度。空间复杂度如果用到需要明确说明。算法在运行时临时占用的存储空间大小(辅助空间),与输入输出的数据所占用的空间不同。公式:S(n)=O(f(n))。计算方法类似时间复杂度。 摩尔定律解释: 提出人:由英特尔 ...
分类:
其他好文 时间:
2018-07-24 13:59:26
阅读次数:
139
程序中循环嵌套通常要求嵌套2层。如果嵌套超过2层,需要重新考虑编码方式。背后的一个考量维度就是时间复杂度(五个判断维度:正确性、可读性、健壮性、时间复杂度、空间复杂度)。 时间复杂度是算法效率的衡量方法,可以简单判定一个算法是否优秀。公式:T(n)= O(f(n))解释: T(n):语句总的执行次数 ...
分类:
其他好文 时间:
2018-07-24 13:58:52
阅读次数:
147
时间复杂度 O(N log(N)) 空间复杂度 O(n) 归并排序(英语:Merge sort,或mergesort),是创建在归并操作上的一种有效的排序算法,效率为 {\displaystyle O(n\log n)} {\displaystyle O(n\log n)}(大O符号)。1945年由 ...
分类:
编程语言 时间:
2018-07-22 00:12:24
阅读次数:
165