概述
1.以下属于逻辑结构的是()
A.顺序表 B.哈希表 C.有序表 D.单链表
答案:C.
1,逻辑结构:它是表现数据之间的一种关系的结构,分为线性结构和非线性结构;
2,物理结构:它是表现数据的是如何存储的结构,计算机内部是如何安排该数据的存储,通常分为顺序结构,链式结构,索引结构,哈希结构;
顺序表,哈希表,单链表均是存储结构;而有序表表达了数据之间是以升序或者降序的关系
2.下面哪种数据结构最适合创建一个优先级队列()
A.堆 B.双向链表 C.单向链表 D.栈
答案:A.
一般用堆来实现,就是具有优先级的队列。在一堆数中能够确定那个最大,最大的优先服务。
3.(1)静态链表既有顺序存储的优点,又有动态链表的优点。所以,它存取表中第i个元素的时间与i无关。
(2)静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加.
(3)静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
以上错误的是()
答案:(1)
静态链表是用数组存储节点数据,模拟链表的实现,但是没有用到指针。每个数组节点包括两部分:data域和cursor(游标)域。data存储数据,cursor指明下个元素在数组中的下标。
(1)存取第i个元素时,需要从头遍历到i-1和元素,由第i-1个节点的cursor,才能知道第i个元素存储的位置,因此和i是相关的。
(2)使用数组对元素进行存储,在定义时大小已经确定。
(3)插入和删除操作无需移动元素,只需要修改cursor游标的值即可,就像修改动态链表中的指针一样。
4.下面哪几个语句正确的声明一个整型的二维数组()
A. int a[ ][ ]=new int[ ][ ]
B. int b[10][10]=new int[ ][ ]
C. int c[ ][ ]=new int[10][10]
D. int [ ]d[ ]=new int[10][10]
答案;CD.
二维数组的定义方式:
1. int [ ][ ] array = new int[n][m];
2. int [ ][ ] array={{1,2,3,4},{1,2,3,4},{1,2,3,4}};
方式一: 定义二维数组可以指定不定义n,但是必须定义m.
5.char s[]="\123456123456t";
printf("%dn",strlen(s));
输出结果是?
答案:12. 其中转义字符'\'和‘123’(八进制),‘t’
6.多型就是数据元素的类型不确定,字符串的每个元素始终都是字符(char),而不会是别的类型,所以字符串不是多型数据。
7.某字符串满足:concat(head(s),head(tail(tail(s))))="ac",(head,tail的定义同广义表),则S=()
A. aabc B. acba C. accc D. acac
答案:C。
tail()表示取字符串的尾部,head()表示取字符串的头,concat()表示字符串拼接。
取两次尾部一次头部,然后合并,答案是C
8.在有n个节点的二叉链表中,值为空的链域的个数为()
答案:n+1.
最后
以上就是会撒娇老鼠为你收集整理的笔记题的全部内容,希望文章能够帮你解决笔记题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复