
数据结构
tama1204
抬头看路,低头拉车
展开
-
【数据结构】-大O计法
大O计法原则: 1,用1取代运行时间中所有的常数项; 2,只保留最高阶项; 3,如果存在除常数外的最高阶项,则去除最高阶项前的系数。 如 f(n)=3n^2+2n+4; ------&g...原创 2019-05-31 14:42:31 · 914 阅读 · 0 评论 -
【数据结构】-线性表
关于线性表有几个需要注意的地方:目录1 为什么说数组表述的顺序存储线性表的存取时间性能为O(1)?2 顺序结构、单向链表、双向链表的优缺点?1 为什么说数组表述的顺序存储线性表的存取时间性能为O(1)?首先定义存储结构:#define MAXSIZE 20typedef int elemTypetypedef struct{ elemType data[MA...原创 2019-05-31 15:18:45 · 266 阅读 · 0 评论 -
【数据结构】-箱子排序
What:箱子排序是在链表的基础上进行排序,首先把值相同的节点,放在同一个箱子中,然后把箱子链接起来就得到了有序的链表。Why:箱子排序算法的时间复杂度基本保持在Θ(n+2*range),在特殊的场景中有非常好的效果(我不信,因为他排序的数据必须是整型,且如果要对0-999内的10个数进行箱子排序,则至少需要1000个箱子,即range=1000,时间复杂度瞬间升高)。How:...原创 2019-06-10 09:47:05 · 3979 阅读 · 0 评论 -
【数据结构】-基数排序
What:基数排序是基于箱子排序,把数按照某种基数分解成数字,然后对数字进行排序,如将375按基数10分解为3、7、5,然后先按个位数进行排序,再按十位数、百位数。Why:针对箱子排序算法的Θ(n+range),如果要在0-n^4里面对10个数进行排序,则n=10,range=n^4,那么箱子排序的时间性能便为Θ(n^4)。如果对这10个数进行基数排序,设定基数x,则基数排序的执行步数...原创 2019-06-10 11:26:30 · 717 阅读 · 0 评论 -
【数据结构】-括号匹配
问题:输入一个带有 '(' 、')'的字符串,编写程序判断左右括号个数是否匹配。输入:(4+3)*5/((34+2)-64)思路: | 若有左括号压入栈中输入字符串--->遍历各字符---> | ...原创 2019-07-13 17:01:52 · 2796 阅读 · 0 评论