原创 找到單鏈表的後數第k個節點

看到一個面試題,簡單的,才下手做的。返回單鏈表的第k個節點(給出了尾指針),跟那個步長分別爲一爲二找到中間和最後的那個差不多。 就是定義兩個指針,都指向head,然後一個向後移動k步,再同時移動,到達尾巴即可。 代碼如下,望不吝賜教! #

原创 BST(二叉搜索樹)按層遍歷

這個是很快的一個充滿bug的版本,很快會更新。 按層遍歷。 舉個例子: 這個BST的話,輸出應爲1,2,3,4,5,6,7 利用了STL的deque,代碼如下: #include <iostream> #include <deque>

原创 一道簡單的面試題:輸入字符串,轉換成整數輸出。

例如,輸入字符串345,輸出爲整數345. 題目不難,代碼如下。兩個版本,第一個是迭代的,第二個是遞歸的。 #include <iostream> using namespace std; int num = 0; int e10 =

原创 今日總結11_24

1.爲什麼拷貝構造函數的參數必須是引用。我覺得這個和結構體中的本類型指針成員有異曲同工的意思,不多說,這個blog分析的夠了。點擊打開鏈接 2.背誦一下異常的定義:異常是存儲了正常返回至信息序列以外的發送信息的對象,用於表示異常情況,如錯

原创 樹的層遍歷 重新修改

昨天的上傳的是之前沒改好的,新改的沒保存,重新寫的,暫時無錯了。 #include <iostream> #include <deque> using namespace std; struct BSTNode { int

原创 Fibonacci數列的實現

第一種是課本上的遍歷和課本上的遞推。 第三種,O(logn)的,請看july同志的blog. 需要注意的是這個數列的某一項的值可能很大,所以儘量,儘量做好防溢出的準備。 #include <iostream> #include <cstd

原创 BST(或者普通樹)的前序遍歷迭代版本

這個版本是自己寫的,有個明顯bug,漏掉了一種情況。 void preorder(BSTnode* root) { BSTnode* p = root; st.push(p); while(!st.empty()) { whi

原创 圖的鄰接矩陣實現

先寫這麼多,明天給例子和鄰接表實現 #include <iostream> #include <vector> #include <list> using namespace std; const int MaxSize = 12; t

原创 BST(二叉搜索樹)變成雙向鏈表

剛接觸到這個題目,先想到的是中序遍歷解決。 void inorder(BSTnode* p) { if(p == 0) { return; } if(p->m_left != 0) { inorder(p->m_left

原创 樹(此處以二叉搜索樹爲例)的按層遍歷 更改版本

#include <iostream> #include <deque> using namespace std; struct BSTNode { int value; BSTNode* left; BSTNode

原创 子數組最大和

看到的一個面試題。有很多人已經寫過,在此記下,明天給出拓展。 題目:輸入一個整型數組,數組裏有正數也有負數,數組中連續的一個或多個整數組成爲子數組,求有最大和的子數組。要求:時間複雜度O(n)。 代碼如下: #include <iostr

原创 找到字符串中最長單詞

#include <stdio.h> #include <string.h> #include <malloc.h> int main() { int count = 0; int max = 0; char *c; char t

原创 二叉樹二度節點和葉子節點的數量關係

二叉樹二度節點和葉子節點的數量關係: 假設共有節點 N 個, 二度幾點 x 個,一度節點y個, 則葉子節點個數(設爲z)? N個節點,那麼共有樹枝N - 1個 1個二度節點有2個樹枝,葉子沒有,一度節點有1個,那麼推導出一共有 2x + 

原创 對優先隊列的一些想法--筆記貼

先明確,優先隊列的基本需求:訪問最小元素。插入和刪除的速度也要足夠。 可以作爲選擇的數據結構: 1.鏈表。鏈表可以保證常量時間在表頭插入,但是刪除需要遍歷鏈表。如果保持鏈表是排序的,即在插入的時候做些手腳,那麼會使得插入操作時遍歷鏈表,時

原创 一道簡單的面試題:字符串轉換成整數(修正版)

上一次寫的那個沒有考慮輸入的字符串有正負號的問題,如果正號,直接從下一個字符開始,負號的話,記錄下來,最後的數轉換成負數即可。 另外,需要注意的還有兩點:1.字符串表示的數字可能很大,所以注意溢出問題。2.字符串的合法性問題。這兩點,在程