1. 用伪代码表示,给定一列数,统计某个数a在此列数中出现的次数
假戚凳设这列数我存放在数组里面,
变量 i 为零;
变量 次数 为零源仔陪;雹蠢
whie( i 小于数组.长度 && a 等于 数组[变量])
次数 = 次数 + 1;
2. python中,怎么做个字典,数句子中单词出现的次数
text = raw_input("enter a sentence:")
words = text.split()
wordscount = [words.count(elem) for elem in words]
worddict={map(None,words,wordscount)}
要完成你的目标:
我要
计算每个词语出现的次数,
把词语出现的次数和词语列表组合成字典;
伪代码出来了,程序也就有了....
python有着强大的列表解析,内建模块使用C完成,他们很快,所以能够调用内建模块你就不要自己多事。
尽量按照伪代码去完成程序,除非必须细化,否则让python为你操作低层吧,他很聪明
第三句释义:
对于列表元素御闭山计数有很简单的list.count()方法。
这个语句就是利用了这个,statement for element in list fileter expression这是list的解析式。
通过这个你可以方便的将一个list解析为另一个。这一句就对list中所有的元素运用count()方法,并且建立新的list。
另外一个例子:a=[2,3,4,7,8]找到这个list中的偶数,并得到它们的平方列表
这样写:[elem*elem for elem in a if elem%2==0]
第四句释义:
list有个map方法,它可以提供list的镇中映射。map(statement,list1,list2)就是将list1,list2按照statement规则映态和射。我的表达式是none所以得到的结果就是简单的[('this', 3), ('is', 4), ('a', 1)]这样的二元tuple列表。
dict函数则是针对上述list的。它能把上述list转化为字典。
这在你做数据处理时很有好处,你可以很轻松的建立一个hash表。
python的强大在于简明,遇到程序尝试着用最简单地方法去解决,你会很快喜欢上的。
以上^乐于与您交流
3. 针对一个字符串联统计出各个字母出现次数得伪代码
设计数数组c[26] 因为有26个字母,并初始化散宴每个值都为0;
逐个遍历冲乱银陪团字符串,每次取出一个字符ch:{
如果ch是字母就c[ch]增1
}
遍历数组c查看其中的统计
4. 设有一篇英文短文,每个单词之间是用空格分开的,编写一算法,统计短
伪代码描述还是文字描述?
文字描述就是:
读入短文到一个数组
创建计数变量sum=0
从头到尾遍历这个数组
若,数组元素==空格,则i加1
判断下个字节是否为空格,若是,则结束。若是字母,则继续取下一个字符,并重复4,5两个过尘漏程。
伪代码野歼大概就是:
String a[100];//存储短文的数组,假设只有100个字符那么长
int f(String d)
{
int sum=0;
for(int i=0;i<100;i++)
{
if(a[i]==' ')
sum++;
if(a[i]==' ' && a[i+1]==' ') //连着两个空格,默认结束。
颂兄冲printf("%d/n",sum);
return sum;
if(a[i]!=' ')
//什么都不做,直接去取下一个字符
}
}
5. 求3种算法和所用的数据结构:找出一个文件中重复次数最多的词
1.用map存储,关键字就是英文单词,值就是次数。 建立map是o(n),map查找是nlog(n),卖宽 遍历一次o(n)
2.用hash表,其实也跟map一个理,用单词字符串当索引,建立hash是o(n), 理论查找时间是o(1),最后遍历一次o(n)
3.用兄敏数组,遇到每次遍历。建立时羡配枝间o(n^2),查找o(n),遍历一次o(n)
4.用链表,最小堆都可以实现,可以自己考虑下。