设有两个串p和q,其中q是p的子串,q在p中首次出现的位置的算法称为( )。
- 教育综合
- 2025-01-17 17:44:43
数据结构概论 试题求解
1.A:对于第i个元素需要比较(i)次 2.B 37 一个字母的是8个 二个字母的是7个 …… 8个字幕的1个 加上空子串1个 所以有B 3.C:不解释 4.C 把i开始的元素全部移到最后去,要用n-i次,每个位置被选中的机会是1/n 上面两个数加和得到 5. B 第一个是n,肯定是全部都进了才出 6.C 7.D 算法大脑也可以算的,算法是步骤,程序是某语言的算法表示,应该不一样吧,(这个我拿不准),C去翻书 8B,带头指针的空,就是头指向空 9B 10.B,定理2^(h-1) 11 B,循环队列有一个元素空下来解决队满的问题,A为队满条件 12.B,一对一,所以是线性的 13.B 14.B数据结构有难题
1、下列数据中,( D )是非线性的数据结构。 A、线 B、队列 C、串 D、图 2、线性表若采用链式存储结构时,要求内存中可用存储单元的地址( D )。 A、一定是不连续的 B、必须是连续的 C、部份地址须是连续的 D、连续或不连续都可以 3、树最适合用来表示( C ) A、有序元素 B、无序元素 C、元素之间具有分支层次关系的数据 D、元素之间无联系的元素 4、线性表是具有n个( C )的有限序列(n>0)。 A、表元素 B、字符 C、数据元素 D、数据项 5、循环链表H的尾结点P的特点是( A )。 A、P^.NEXT:==H B、P^.NEXT:==H^.NEXT C、P:==H D、C#数据结构
1.A 2.B 3.B 4.C 5.B 6.D 7.D 8.B 9.C 10.B 11.B 12.C 13.C 14.D 15B给定程序的功能是:将仅在字符串s中出现而不在字符串t中出现的字符,和仅在字符串t中出现而不在字符串s中出
void fun(char *s,char *t,char *u)
{
int i,j, s1,t1;
int flag;
s1=strlen(s);
t1=strlen(t);
for(i=0;i { flag = 0; for(j=0;j { if(s[i] == t[j]) { flag = 1; break; } } if(flag == 0) { *u++=s[i]; } } for(i=0;i { flag = 0; for(j=0;j { if(t[i] == s[j]) { flag = 1; break; } } if(flag == 0) { *u++=t[i]; } } } 字符串在存储上类似字符数组 它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。 通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。 以上内容参考:百度百科-字符串 string = 'aaaAAAAAbbbbBBBBBB' s = string.lower() num = s.count('a') + s.count('b') * 2 例如: print sum(map(ord,list(str1.lower())))-96*len(str1) 其中str1是输入字符串 以aBC为例 str1.lower() 将所有字母变成小写字母 abc list(str1.lower()) 将字符串变成 ['a','b','c']ord 将字母变成ASCII数字 map(ord,list(str1.lower()))将列表中所有字母变成数字[97,98,99] sum 求和 求和后,由于a的ASCII是97,所以每个字母都得减96。 扩展资料: 字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。 通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。 参考资料来源:百度百科-字符串Python输入一个字母标识符,计算标识符中各个字母的数值之和,其中A=a=1,B=b=2,
上一篇
每月员工一个星期上三天班怎么计算
下一篇
返回列表