Python 的算法和數(shù)據(jù)結(jié)構(gòu)—棧


??? 本來打算是從C語言的數(shù)據(jù)結(jié)構(gòu)學起的患雇,但是由于對C語言遺忘過多跃脊,于是作罷,開始轉(zhuǎn)向Python 數(shù)據(jù)結(jié)構(gòu)算法了苛吱。而且在未來大數(shù)據(jù)處理中酪术,Python語言會展現(xiàn)得天獨厚優(yōu)勢呢——獨白

棧【stack】: 是數(shù)據(jù)結(jié)構(gòu)的一種翠储,若是對棧中的元素訪問绘雁,必須從棧頂開始,是一種后進先出的數(shù)據(jù)結(jié)構(gòu)彰亥。所以咧七,任何不在棧頂?shù)脑囟紵o法訪問,為了得到棧底元素任斋,必須著個拿掉棧頂元素

在python 中對棧的操作有兩個 壓棧(push)和彈棧(pop)這兩個都是Python中的內(nèi)置函數(shù)pop()還有一個常見的操作是預(yù)覽棧頂元素耻涛。peek() 方法只能返回棧頂原素,而不能刪除它卓研。

為了記錄棧頂元素的位置奏赘,同時為了標記哪里可以加入新元素。梁只。我們使用top,當向棧內(nèi)壓入元素,該變量增大旁壮,彈出元素抡谐,變量減小桐猬。

stack的通常操作

Stack(): 建立一個空的棧對象

push() :把一個元素添加到棧頂

pop(): 刪除最頂層溃肪,并返回這個元素

peek() : 返回最頂層,但不刪除它

isEmpty()? : 判斷棧是否為空

size() : 返回棧中的元素


模擬stack



主函數(shù)執(zhí)行

eg 1: 棧的應(yīng)用之平衡圓括號

比如我們在計算機輸入(9+1)X(2+8)/(3+7)


上圖了






匹配‘(’


棧的應(yīng)用進制轉(zhuǎn)換


在計算機中進制之間的轉(zhuǎn)換從未停止坚嗜,大都是十進制1二進制之間的轉(zhuǎn)換

十進制轉(zhuǎn)換二進制?? ----- 除二取余法

這種算法從一個大于 0 的整數(shù)開始苍蔬,通過遞歸法連續(xù)除以 2碟绑,并保存除 2 得到的余數(shù)茎匠。第一次除以 2 可以判斷這個數(shù)是偶數(shù)還是奇數(shù)诵冒。偶數(shù)除以 2 的余數(shù)是 0,這個二進制位就 0;奇數(shù)除以 2 的余數(shù)是 1惭蟋,這個位就是 1。這樣連續(xù)相除得到一串的 0 或 1药磺,第 1 次得到的位實際是最后一位。如圖 5 所示癌佩,我們又一次見到了需要反轉(zhuǎn)順序的性質(zhì),這就表明需要利用棧的特性來解決問題了围辙。



除二取余

Python代碼


divideby代碼塊


反序代碼塊 是調(diào)用內(nèi)置函數(shù)。這個代碼是在com.python.Stack中寫的 不在同一代碼塊中姚建,但也可以寫在同一代碼塊中


結(jié)果 1x2^5+0x2^4+1x2^3+0x2^2+1x2^1+0X2^0=42
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末矫俺,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子掸冤,更是在濱河造成了極大的恐慌,老刑警劉巖稿湿,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饺藤,死亡現(xiàn)場離奇詭異舰始,居然都是意外死亡,警方通過查閱死者的電腦和手機丸卷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門萎坷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沐兰,你說我怎么就攤上這事哆档。” “怎么了住闯?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵瓜浸,是天一觀的道長。 經(jīng)常有香客問我比原,道長插佛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任量窘,我火速辦了婚禮雇寇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蚌铜。我一直安慰自己锨侯,他們只是感情好,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布冬殃。 她就那樣靜靜地躺著囚痴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪造壮。 梳的紋絲不亂的頭發(fā)上渡讼,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機與錄音耳璧,去河邊找鬼成箫。 笑死,一個胖子當著我的面吹牛旨枯,可吹牛的內(nèi)容都是我干的蹬昌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼攀隔,長吁一口氣:“原來是場噩夢啊……” “哼皂贩!你這毒婦竟也來了栖榨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤明刷,失蹤者是張志新(化名)和其女友劉穎婴栽,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辈末,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡愚争,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了挤聘。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轰枝。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖组去,靈堂內(nèi)的尸體忽然破棺而出鞍陨,到底是詐尸還是另有隱情,我是刑警寧澤从隆,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布诚撵,位于F島的核電站,受9級特大地震影響键闺,放射性物質(zhì)發(fā)生泄漏砾脑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一艾杏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盅藻,春花似錦购桑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至假残,卻和暖如春缭贡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背辉懒。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工阳惹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人眶俩。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓莹汤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親颠印。 傳聞我的和親對象是個殘疾皇子纲岭,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容