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.用鏈表,最小堆都可以實現,可以自己考慮下。