原创 考研數據結構之樹(6.10)——練習題之設計一個算法求出二叉樹的寬度(具有結點數最多的那一層上的結點個數)(C表示)

題目 假設二叉樹採用二叉鏈表存儲結構存儲,設計一個算法求出二叉樹的寬度(具有結點數最多的那一層上的結點個數)。 分析 要求含有最多結點數的層上的結點數,可以分別求出每層的結點數,然後從中選出最多的。 要達到這個目的,應該明白兩個事實。 第

原创 Android零碎知識點(1)——使用Intent傳遞對象

首先將要傳遞的對象序列化,核心代碼如下,就是實現Serializable。 public class Manager implements Serializable{ } 接着設置要傳輸的對象數據 Manager manager=

原创 Android零碎知識點(2)——使LinearLayout佈局滾動

代碼如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android

原创 考研數據結構之排序(8.6)——選擇類排序之簡單選擇排序(C表示)

算法思想 選擇類排序的主要動作是“選擇”,簡單選擇排序採用最簡單的選擇方式,從頭至尾順序掃描序列,找出最小的一個關鍵字,和第一個關鍵字交換,接着從剩下的關鍵字中繼續這種選擇和交換,最終使序列有序。 執行流程 代碼 核心代碼: /*

原创 考研數據結構之串(4.1)——串的操作(C表示)

概述 串的常見操作: 賦值操作:將一個字符數組(即串)中的所有元素複製到另一個字符數組中。 取串長操作:在使用變長分配存儲表示的情況下,直接返回str.length即可。 串比較操作:設兩個串A和B中的待比較字符分別爲a和b,如果a的AS

原创 考研數據結構之查找(9.8)——練習題之給定整型數組B,已知B中數據在每一維方向上都按從小到大的次序排列且整型變量k在B中存在,找出k的i和j值要求比較次數不超過M+N(C表示)

題目 給定整型數組B[0 , ... , M][0 , ... , N]。已知B中數據在每一維方向上都按從小到大的次序排列,且整型變量k在B中存在。設計一個程序段,找出一對滿足B[i][j]=k的i和j值,找到後輸出i和j的值,要求比較次

原创 考研數據結構之串(4.4)——練習題之實現串str的逆轉函數(C表示)

題目 實現串str的逆轉函數,如果str爲空串,則什麼都不做。 分析 由於串str是一個字符數組,所以逆轉字符串,即逆轉數組中的元素。 其實是個逆置問題。 代碼 C語言代碼 void swap(char &c1,char &c2) {

原创 考研數據結構之樹(6.3)——二叉樹遍歷算法的改進(C表示)

二叉樹深度優先遍歷算法的非遞歸實現 非遞歸實現就是自己定義棧來實現,而遞歸實現就是調用系統定義的棧。 示例二叉樹如下: (1)先序遍歷非遞歸算法  先序遍歷非遞歸算法的思路: 在二叉樹先序遍歷非遞歸算法中,先將根結點壓棧,在棧不爲空的時

原创 IDEA創建JavaWeb項目中HttpServlet爆紅色無法引入相關包

錯誤 原因 沒有導入tomcat配置。 解決 上面的操作是在已經配置tomcat的情況下, 如果還沒有配置tomcat,那麼先進行如下操作: 即可解決無法引入HttpServlet的問題。

原创 Android零碎知識點(6)——設置Button爲圓形按鈕

在res/drawable文件夾下創建一個button_shape.xml文件,代碼如下: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://sche

原创 考研數據結構之樹(6.4)——樹和森林與二叉樹的相互轉換(C表示)

樹轉換爲二叉樹 森林轉換爲二叉樹 樹的遍歷 樹的遍歷有兩種方式:先序遍歷和後序遍歷。 先序遍歷是先訪問根結點,再依次訪問根結點的每棵子樹,訪問子樹時仍然遵循先根再子樹的規則。 後序遍歷是先依次訪問根結點的每棵子樹,再訪問根結點,訪問子

原创 考研數據結構之串(4.2)——串的簡單模式匹配(C表示)

概述 對一個串中某子串的定位操作稱爲串的模式匹配,其中待定位的子串稱爲模式串。算法的基本思想:從主串的第一個位置起和模式串的第一個字符開始比較,如果相等,則繼續逐一比較後續字符:否則從主串的第二個字符開始,再重新用上一步的方法與模式串中的

原创 考研數據結構之樹(6.10)——練習題之求表達式的值(C表示)

題目 表達式(a-(b+c))*(d/e)存儲在如下圖所示的一棵以二叉鏈表爲存儲結構的二叉樹中(二叉樹結點的data域爲字符型),編寫程序求出該表達式的值(表達式中的操作數都是一位的整數)。 分析 左子樹爲表達式A,右子樹爲表達式B,經過

原创 考研數據結構之串(4.4)——練習題之編寫一個函數來刪除串中從下標爲i的字符開始的j個字符,如果下標爲i的字符後沒有足夠的j個字符,則有幾個刪除幾個(C表示)

題目 編寫一個函數,刪除串中從下標爲i的字符開始的j個字符,如果下標爲i的字符後沒有足夠的j個字符,則有幾個刪除幾個。 分析 從下標爲i+j個字符開始,將所有的字符都向前移動j個位置,然後將字符串長度縮減爲被刪除字符的個數即可。 其實算法

原创 考研數據結構之串(4.4)——練習題之刪除串str中所有值爲ch的所有字符(C表示)

題目 刪除串str中值爲ch的所有字符,如果str爲空串,或者串中不含值爲ch的字符,則什麼都不做。 分析 由於是使用的順序存儲,所以刪除數組中所有值爲ch的字符即可,然後修改數組的長度。 代碼 核心代碼: /* 刪除串str中值爲c