from pythonds.basic.stack import stack
defparchecker
(symbolstring)
: s = stack
balanced =
true
index =
0while index <
len(symbolstring)
and balanced:
#索引小於象徵字串並且平衡
symbol = symbolstring[index]
#象就等於字串帶索引
if symbol ==
"(":
#左括號匹配
s.push(symbol)
#進棧操作
else
:if s.isempty():
#檢查棧是否為空
balanced =
false
#就沒達到平衡
else
: s.pop(
)#刪除
index = index +
1if balanced and s.isempty():
#如果平衡而且是空棧
return
true
else
:return
false
print
(parchecker(
'((()))'))
print
(parchecker(
'(((()))'
))
from pythonds.basic.stack import stack
defparchecker
(symbolstring)
: s = stack
balanced =
true
index =
0while index <
len(symbolstring)
and balanced:
#索引小於象徵字串並且平衡
symbol = symbolstring[index]
#象就等於字串帶索引
if symbol ==
"(["
return opens.index(
open
)== closers.index(close)
print
(parchecker(
'()}'))
print
(parchecker(
'[{()]'
))
資料結構與演算法 實驗九
求二叉樹的層序遍歷問題 要求 1 編寫乙個建立二叉樹的函式。2 編寫按層次 同一層自左至右 輸出二叉樹中所有的結點的函式。3 編寫乙個測試主函式。include includetypedef char elemtype include bitree.h typedef bitreenode data...
資料結構與演算法(九) 查詢
查詢是在大量的資訊中尋找乙個特定的資訊元素,在計算機應用中,查詢是常用的基本運算,例如編譯程式中符號表的查詢。定義 根據給定的某個值,在查詢表中確定乙個其關鍵字等於給定值的資料元素 或記錄 分類 靜態查詢和動態查詢 無序查詢和有序查詢。遍歷陣列並且依次對比值,相等時返回下標 在給定陣列中線性查詢指定...
資料結構與演算法 九 希爾排序
演算法思想 希爾排序是基於插入排序的以下兩點性質而提出改進方法的 先取乙個小於n的整數d1作為第乙個增量,把檔案的全部記錄分組。所有距離為d1的倍數的記錄放在同乙個組中。先在各組內進行直接插入排序 然後,取第二個增量d2key a main.c include include include sor...