思想:只限定在資料棧的一端(棧頂)進行元素的操作,是一種特殊的線性表。
操作例項:
二進位制轉換十進位制
class
structure
(object):
deftwooten
(self,l):
m =
i = len(l)
while i > 0:
n = l[i-1] * pow(2,len(l)-i)
i = i - 1
print sum(m)
l = map(int,raw_input().split())
o = structure()
o.twooten(l)
注意:
map(int,raw_input().split())
raw_input() 輸入的字串
.split()用空格分割成 list 但是 list中元素還是str即[『str』,』str』]
於是使用map 函式,將其中的元素int化。
佇列是一種特殊的線性表,資料從隊尾進入,從隊頭出隊。一般採用的是鏈式儲存。
為什麼不採用線性儲存(陣列形式)?
因為隊首出隊時候,剩餘的元素位置都將向前平移,則演算法複雜度為o(n)。如果對頭指標進行平移的話,則陣列實際儲存長度將會變少,所以採用鏈式儲存。
面試 資料結構
先給出定義部分和相關除錯部分 include h using namespace std struct listnode head listnode insert int v while p next null p p next p next new listnode p p next p next...
資料結構 面試
看了劍指offer發現乙個問題有好多種思路去解決,之前自己考慮的都太普遍性,應當多樣化的來思考問題 最深體會 寫出實現功能的 和寫出優異的 是兩回事!1.鍊錶的倒敘列印 1 是否可以改變鍊錶結構,可以改變就改變以後列印 2 不允許改變鍊錶結構可以直接使用迴圈,但是時間複雜度會是o n 3 使用棧來儲...
python 面試常考資料結構演算法
致謝 python基礎演算法 劍指offer 這裡整理的都是基礎的不能再基礎的演算法,目的就是進行乙個回憶,同時作為劍指offer的乙個補充 嘿嘿 實現乙個二分查詢 輸入 乙個順序list 輸出 待查詢的元素的位置 def binarysearch alist,item first 0 last l...