您的位置:首页 > 理论基础 > 数据结构算法

数据结构随笔

2019-08-15 18:43 656 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_43798008/article/details/99649873

1、要判断一个整数N(>10)是否素数,我们需要检查3到√N之间是否存在奇数可以整除N。则这个算法的时间复杂度是:
O(√N)
2、int func ( int n )
{ int i = 0, sum = 0;
while ( sum < n ) sum += ++i;
return i;
}
的时间复杂度是O(n^1/2​​ )
3、对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度为:O(1), O(N)
4、在N个结点的顺序表中,算法的时间复杂度为O(1)的操作是:访问第i个结点(1≤i≤N)和求第i个结点的直接前驱(2≤i≤N)
5、对于顺序表的优缺点,以下说法错误的是(C )。 (2分)
A.无需为表示结点间的逻辑关系而增加额外的存储空间
B.可以方便地随机存取表中的任一结点
C.插入和删除运算较方便
D.容易造成一部分空间长期闲置而得不到充分利用
​​6、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( 顺序表)存储方式最节省时间。
7、若线性表最常用的操作是存取第i个元素及其前驱的值,则采用(顺序表 )存储方式节省时间
8、线性表在顺序存储时,查找第i个元素的时间同i的值无关
线性表在链式存储时,查找第i个元素的时间同i的值成正比
9、给定一个堆栈的入栈序列为{ 1, 2, ⋯, n },出栈序列为{ p​1​​, p​2​​, ⋯, p​n​​ }。如果p​2​​=n,则存在多少种不同的出栈序列?(n-1)
解:p2==n, 则n第二个出栈,第一个出栈的可以是1,2,3,4.。。。n-1
10、设每个d叉树的结点有d个指针指向子树,有n个结点的d叉树有多少空链域?n(d−1)+1
11、如果一棵非空k(k≥2)叉树T中每个非叶子结点都有k个孩子,则称T为正则k叉树。若T的高度为h(单结点的树h=1),则T的结点数最多为:(k^h-1)/(k-1)则T的结点数最少为k(h−1)+1
12、任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序不发生改变
13、对N(N≥2)个权值均不相同的字符构造哈夫曼树。下列关于该哈夫曼树的叙述中,错误的是: D(2分)
A、树中一定没有度为1的结点
B、树中两个权值最小的结点一定是兄弟结点
C、树中任一非叶结点的权值一定不小于下一层任一结点的权值
D、该树一定是一棵完全二叉树
14、已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是:111
15、因为在有向完全图中,任何两个顶点之间都有2条弧所以在n个顶点中选取两个顶点的选法有n(n-1)/2所以共有2*n(n-1)/2=n(n-1)条弧

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: