首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
HelloWode
掘友等级
会写HelloWorld
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
6
文章 6
沸点 0
赞
6
返回
|
搜索文章
最新
热门
排序(下_常数阶)
根据场景设置桶子的个数。 寻访序列,并且把元素一个一个放到对应的桶子去。 对每个不是空的桶子进行排序。 从不是空的桶子里的元素再拼接到一起放回原来的序列中。 假设待排序的数据有个,桶的个数为个,那么每个桶平均有个数据,每个桶内部使用对数阶排序算法如快排。每个桶内部的时间复杂度为…
LeetCode之 1,两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 该种解法是最为直观简单的,对每个元素都将在数组中往后寻找其是否有满足ta…
排序(中_对数阶)
merge方法在将两个有序数组合并为一个有序数组时,需要借助额外的存储空间,其空间复杂度为。 merge方法在合并数组时,不改变相同元素间的前后顺序,因此,归并排序时稳定的。 因为归并排序的执行效率与待排序数组的有序程度无关,所以其时间复杂度是非常稳定的,因此,无论是最好、最坏…
排序(上_平方阶)
排序算法的内存消耗:可以用空间复杂度来衡量,对于空间复杂度为的排序算法,称之为原地排序。 排序算法的稳定性:如果待排序的序列中存在值相等的元素,经过排序后,相等元素之间的先后顺序不变。例如,对于序列:6,8,6,2,3,9,经过排序后为:2,3,6,6,8,9,若其中两个6的先…
栈
最好时间复杂度:最理想的情况下,当前栈中元素数量比数组的容量小,此时就直接执行代码块a[N++] = item;,即此时的时间复杂度为 。 最坏时间复杂度:最糟糕的情况下,当前栈中元素数量与数组的容量相等,此时就要执行resize方法进行扩容了,进入循环体,执行N次复制操作,此…
队列
题目:0, 1, …, n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。
链表(下)
本文主要做一些链表的常见题目,题目从LeetCode上摘取,通过练习加深对链表的掌握和理解。 三次循环后,可以看到把链表反转了,其时间复杂度为 ,空间复杂度为 。 递归其时间复杂度为 ,空间复杂度为 。 利用Set中不能有相同元素这一特性,在往nodesSeen集合中添加元素时…
链表(上)
由于数组需要一块连续的内存空间,所以插入和删除时会使部分元素挪动,其时间复杂度为 ,为了避免这种开销,可以使用链表这种不连续内存的数据结构。数组和链表的内存分布: 假如内存剩余可用空间大于100MB,但是其可用空间不是连续的,所以申请100MB数组时会失败,而链表由于不需要连续…
数组
基本上每一种编程语言都有数组这种数据类型,数组就是用一组连续的内存空间,来存储一组具有相同类型的数据。 在大部分编程语言中,如C/C++,Java,其数组下标从0开始编号。以一个长度为8的int型数组为例:int []a = new int[8];其中分配了一块连续内存空间10…
时间复杂度学习(下)
这一节将以一个具体的算法题给出4种不同解法,分析各自的时间复杂度并比较其各自的运行性能。 ,求 的最大值。(为方便起见,若所有整数均为负数,则最大子序列和为0)。 例如:输入 ,其最大子序列和为 。 该种解法最简单暴力,定义子序列的起始位置为i,结束位置为j,假设数组a的长度为…
下一页
个人成就
文章被点赞
35
文章被阅读
6,135
掘力值
244
关注了
25
关注者
9
收藏集
4
关注标签
13
加入于
2018-08-09