原创 最長公共子序列問題 和 最長公共子串問題

問題描述: 最長公共子序列也稱作最長公共子串(不要求連續),英文縮寫爲LCS(Longest Common Subsequence)。其定義是,一個序列 S ,如果分別是兩個或多個已知序列的子序列,且是所有符合此條件序列中最長的,則 S

原创 牛客網-訪問單個節點的刪除

實現一個算法,刪除單向鏈表中間的某個結點,假定你只能訪問該結點。 給定帶刪除的節點,請執行刪除操作,若該節點爲尾節點,返回false,否則返回true /* struct ListNode { int val; stru

原创 stl,vector, list,雙向鏈表,map

本文只是一個搬運工:給大家找到了一些合理的東西!!! 超感謝:http://www.cnblogs.com/imAkaka/archive/2012/03/20/2407877.html     http://www.oschina.

原创

如果圖中任意兩點都是連通的,那麼圖被稱作連通圖。如果此圖是有向圖,則稱爲強連通圖 1,圖(Graph)是由頂點的有窮非空集合和頂點之間的邊的集合組成,通常表示爲:G(V,E),   其中,G表示一個圖,V是圖G中頂點的集合,E是圖G中邊

原创 遞歸函數時間複雜度分析

遞歸函數時間複雜度分析 (1) 遞歸執行過程 例子:求N!。 這是一個簡單的”累乘”問題,用遞歸算法也能解決。 n! = n * (n - 1)! n > 1 0! = 1, 1!

原创 Linux 信號,殭屍進程,(面試)

1,信號有那些是不能被屏蔽的???(SIGKILL和SIGSTOP) 2,殭屍進程是什嘛樣子的,產生子進程的時候給其分配空間了之後,在變成殭屍進程之後,對這塊空間是如何處理   的,是將其全部釋放掉???還是保留部分空間給(子進程的進程I

原创 從尾到頭打印鏈表

題目描述 輸入一個鏈表,從尾到頭打印鏈表每個節點的值。 輸入描述: 輸入爲鏈表的表頭 輸出描述: 輸出爲需要打印的“新鏈表”的表頭 思路一:(利用鏈表的翻轉,然後直接存儲!!!) /** * struct ListNod

原创 解釋型語言與編譯型語言的區別

編譯型語言在程序執行之前,有一個單獨的編譯過程,將程序翻譯成機器語言,以後執行這個程序的時候,就不用再進行翻譯了。 解釋型語言,是在運行的時候將程序翻譯成機器語言,所以運行速度相對於編譯型語言要慢。 C/C++ 等都是編譯型語言,而Ja

原创 Linux進程,fork-專研精講(實例講解)!!!

創建進程有兩種方式,1:由操作系統創建;2:由父進程創建 由操作系統創建的進程,它們之間是平等的,一般不存在資源繼承關係(稱之爲:系統進程)。而對於由父進程創建的進程(子進程),它們和父進程之間是隸屬的關係,然後子進程繼續創建屬於自己的子

原创 從內存角度深入看結構體(window/linux)大小

今天我們來看一下windows(32, 64)(dev-c++,vc),linux(32, 64)不同系統下, 它們求結構體大小時,編譯器到底給它們分配了哪些內存,又爲什麼這樣分配,爲啥子編譯器給它們有時空閒3個內存塊,有時候又空閒7個內

原创 看我linux(ubuntu)下的64位編譯器編譯32位程序

大家看到這個不要好奇,我也是在分析結構體大小時想到的, 我們大家都知道在windows底下,我們想編譯一個c程序(用64位和32位分別編譯,特別不方便),除非是雙系統,或者虛擬機,但是裝這些有時候挺麻煩的, 但是但是,在linux底下這可

原创 for語句引起一個死循環而引發的思考!!!

對於一個簡單地for語句,學過C的朋友可能覺得很簡單,但是,看完下面這個簡單地程序還能想明白的朋友(但是真的不簡單) 那纔是真的不錯,,好了,不廢話了,大家看代碼吧!!! 程序1: #include <stdio.h> #include

原创 TCP的狀態轉化過程(11中狀態)以及TIME_WAIT狀態

TCP中的三次握手,四次揮手是我們所熟知的,可是,我們熟悉裏面的各種狀態嗎??? (SYN_SENT,   ESTABLISHED,    CLOSE_WAIT.............),試問一句,我們瞭解裏面的狀態轉化嗎??? 1

原创 C++多態性,虛函數,重載,抽象類

1,C++多態性,虛函數,重載,純虛函數,比較有意思,,,,,, 在面向對象的程序中,當不同的對象接受到相同的消息產生不同的動作,這種性質稱爲多態性。 簡單的來說:就是指用一個名字定義不同的函數,這些函數執行不同但有類似的操作,即所謂的

原创 由一個線程例子引發的思考(轉載)

在談這個例子之前先貼上進程與線程的內存結構,方便對線程有一個更深的理解。(如果覺得前面的介紹很煩,可以直接跳到最後看問題的分析和最終解決方法的代碼) 進程的內存結構 下圖是在Linux/x86-32中典型的進程內存結構,從圖中的