DS博客做業07--查找

DS博客做業07--查找

1.本週學習總結

1.思惟導圖

2.談談你對查找運算的認識及學習體會

經過本週對查找運算的學習,系統的深刻了解一些算法和查找方法,例如順序查找,折半查找,希爾排序等;
這些方法能夠幫咱們解決不一樣狀況下的查找,例如在大數據的狀況下,要求要獲得前十個數,快排速度是快,可是
要求只是前十個,不如用堆排。

2.PTA實驗做業

2.1題目1:二叉搜索樹中的最近公共祖先

在一棵樹T中兩個結點u和v的最近公共祖先(LCA),是樹中以u和v爲其後代的深度最大的那個結點。
現給定某二叉搜索樹(BST)中任意兩個結點,要求你找出它們的最近公共祖先。

2.1.1設計思路(僞代碼)

思路以下:
有兩種狀況:1.u,v不在樹中;
 2.u,v在樹中:    <1>u,v都在左子樹上;
                            <2>u,v都在右子樹上;
                            <3>u,v一個在左子樹上,一個在右子樹上;
                            <4>u,v有一個在根上。

2.1.2代碼截圖


2.1.3本題PTA提交列表說明


Q:考慮了是不是根,在根的同一邊,找不到的狀況,兩個數在根的同一邊忘記考慮了
A:後面帶入數據,才知道少了種狀況c++

2.2題目1: QQ賬戶的申請與登錄

實現QQ新賬戶申請和老賬戶登錄的簡化版功能。最大挑戰是:聽說如今的QQ號碼已經有10位數了。

2.2.2代碼截圖

2.2.3本題PTA提交列表說明

這題會map通常就沒問題,編譯錯誤是忘記換成c++

2.3.題目1:是否二叉搜索樹

本題要求實現函數,判斷給定二叉樹是否二叉搜索樹。

2.3.1設計思路(僞代碼)

首先二叉搜索樹,就是:
非空左子樹的全部鍵值小於其根結點的鍵值。
非空右子樹的全部鍵值大於其根結點的鍵值。
左、右子樹都是二叉搜索樹。
因此就按這個考慮

2.3.2代碼截圖

2.3.3本題PTA提交列表說明

思路明確的話,通常不會有問題,後面多提交的是爲了想找幾個特殊點看看,能不能過

3.閱讀代碼

3.1 題目:查找書籍

給定n本書的名稱和訂價,本題要求編寫程序,查找並輸出其中訂價最高和最低的書的名稱和訂價

3.2 代碼截圖


3.3 學習體會

熟悉一些經常使用的算法,這樣解題能夠加快速度
相關文章
相關標籤/搜索