Time of Update: 2018-12-04
二叉樹的遍曆是典型的遞迴演算法。所謂樹的遍曆是指按某條搜尋路徑訪問樹中每個結點,使得每個結點均被訪問一次,而且僅被訪問一次。我的程式給出了二叉樹的先序遍曆,中序遍曆,後序遍曆和求二叉樹的深度。程式如下: #include <stdio.h> #include <malloc.h> #include <stdlib.h> #define OK 1 #define ERROR 0 #define OVERFLOW -2
Time of Update: 2018-12-04
參考文獻《演算法導論》LCS問題: 描述,LCS英文:longest common string。中文:最長公用子序列。即找出兩個字串裡,最長的子序列。比如:A D F G C 和 B F C 則最長的子序列為F
Time of Update: 2018-12-04
我眼中的指標--學習指標不可少的好文章2002-8-9發信人: girlrong (阿蓉), 信區: C標 題: 我眼中的指標--作者序發信站: 網易虛擬社區 (Mon Aug 2 16:12:02 1999),
Time of Update: 2018-12-04
作者:李駒光、鄭耿本文摘自作者《嵌入式Linux系統開發詳解-基於EP93XX系列ARM》一書的相關章節。 隨著Internet技術的興起,在嵌入式裝置的管理與互動中,基於Web方式的應用成為目前的主流,這種程式結構也就是大家非常熟悉的B/S結構,即在 嵌入式裝置上運行一個支援指令碼或CGI功能的Web伺服器,能夠產生動態網頁面,在使用者端只需要通過Web瀏覽器就可以對嵌入式裝置進行管理和監控,非常方
Time of Update: 2018-12-04
二叉樹的根結點(根據三種遍曆)只可能在左右(子樹)之間,或這左子樹的左邊,或右子樹的右邊。 如果已知先序和中序(如果是中序和後序已知也可以,注意:如果是前序和後序的求中序是不可能實現的),先確定這棵二叉樹。 步驟:1,初始化兩個數組,存放先序合中序。 2,對比先序和中序,在中序忠尋找先序的第一個元素,則在中序遍曆中將這個元素的左右各元素分成兩部分。即的左邊的部分都在這個元素的左子樹中,右邊的部分都在右子樹中。 3,然後從從先序的第二個元素開始繼續上面的步驟。
Time of Update: 2018-12-04
shell排序,是插入排序的改進演算法,採用分組插入。直接上例子吧,不懂插入排序的見我的博文插入排序。如例子 9 1 5 8 3 7 2 4 5取梯度:1, 5, 19, 41, 109......因為 number of element is 9< 19.所以梯度取5和1。第一回合:i=0,取9和7(i+梯度5得到元素7),9,7 插入排序後得7,9所以原數組變為:7 1 5 8 3 9 2 4 5第二回合:i=1,取1和2,1,2
Time of Update: 2018-12-04
雜湊表是常用的資料結構,也是經常的面試題之一,所以程式員應該掌握並在平時的程式中使用它。下面簡單實現一個雜湊表。 比如:數組 a=[3,6,1,5,9,10,100,34],現在要尋找元素100,最笨的演算法就是挨個遍曆,演算法複雜度是O(N),但是要是在平時程式中輕易寫出這樣的代碼,恐怕得被挨批,對於排序,尋找之類的,我們首先應該想到的是hash,因為其複雜度是常數層級的。first,hash表的構造,我採用除留餘數法。因為我們提前知道數組的大小是8.所以hash表的大小為10.
Time of Update: 2018-12-04
KDJ指標又叫隨機指標,是由喬治·藍恩博士(George Lane)最早提出的,是一種相當新穎、實用的技術分析指標,它起先用於期貨市場的分析,後被廣泛用於股市的中短期趨勢分析,是期貨和股票市場上最常用的技術分析工具。 第一節 KDJ指標的原理和計算方法 一、KDJ指標的原理
Time of Update: 2018-12-04
摘錄 C++編程思想。先看下面程式://vc9.0下啟動並執行#include"iostream"using namespace std;enum note{middleC,Csharp,Cflat };class instrument{public:void play(note) const {cout<<"instrument::paly"<<endl;}};class wind:public instrument{public:void play(note)
Time of Update: 2018-12-04
C++premier 先看例子吧#include"iostream"using namespace std;class base{public:virtual int foo(int ival=1024){ cout<<"base::foo()--ival:"<<ival<<endl; return ival; }};class derived:public base{public:int foo(int ival=2048){
Time of Update: 2018-12-04
以前在交換器上做過web cgi的程式,是在51系統上面做的,記得原理都是相似的,把頁面做成位元組,不過現在有些忘了,只好再熟悉一遍。以下來自http://ajonbin.spaces.live.com/blog/cns!5619a73390dcd51e!132.entry,若有著作權問題,請通知我。GoAhead, vxworks 和 CGI最 近在做監控的用戶端,Vxworks下。基本上拿以前的IPTV的代碼,改吧改吧,就OK了。不過有個挺大的問題,IPTV是有介面的,通過遙控器控制。
Time of Update: 2018-12-04
A. 100人蔘加考試,共5道題,第1、2、3、4、5題分別有80、72、84、88、56做對,如果至少做對3題算及格,問:至少幾人及格?B. 有10個人要從城市A出發去往城市B. 他們只有一輛(兩個座位,包括司機)的車.已知A,B相距1000公裡,開車速度100公裡/小時,步行速度5公裡/小時.問,當10個人都到達城市B,最少要花多長時間? 我的解答:1:62人 2 :92.16小時 第一題過程:為了使得及格的人數儘可能少 就讓每一個人儘可能多的答對題目 答對5題:56人
Time of Update: 2018-12-04
huffman編碼是重要的編碼方式之一。作為一名程式員,應該要做到融會貫通,因此我在網上搜些資料看,發現幾乎沒有適合我等菜鳥級的文章,不是沒有圖解,就是不說明為什麼要引入huffman編碼,稀裡糊塗,於是自己整理了一下,歡迎諸君拍磚。 Huffman是一種無損壓縮方法:所謂無損就是不會有資訊丟失,可以100%恢複原訊號,像奈奎斯特恢複就是有損了;所謂壓縮,就是可以佔有更少的儲存空間。 比如要發送三個字元:S1,S2,
Time of Update: 2018-12-04
vmlinux.lds.S用於對ld的輸出進行組版,這個檔案的格式在ld.info手冊中有詳細的說明。vmlinux.lds.S的主要目的是對輸出檔案中段進行排序,並定義相關的符號名,以下是簡要注釋。/* ld script to make i386 Linux kernel * Written by Martin Mares ; */OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")OUTPUT_ARCH(i386)
Time of Update: 2018-12-04
前面一篇部落格講述了二叉樹的建立和遍曆,無論是前序還是中序或是後序,只不過是訪問資料的順序不一樣,是為了訪問二叉樹而人為化的一種鏈式“形”,突出的是訪問的內在聯絡。同樣地,線索化的二叉樹也是,在前驅和後繼之間建立起一種聯絡,從而使訪問特別快,特別方便。 線索化二叉樹是在二叉樹的序(前,中,後)的基礎上建立起來的。其關鍵是利用閒置lchild和rchild儲存其前驅和後繼,對於度為2
Time of Update: 2018-12-04
代碼如下:#include"windows.h"#include"string"#include"tchar.h"void WINAPI CaretPos(HWND hWnd,int nArrayPos,char *cCharBuf,int*xCaret,int*yCaret,int nCharWidth );long WINAPI WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam);BOOL InitWindowsClass(
Time of Update: 2018-12-04
五大記憶體分區在C++中,記憶體分成5個區,他們分別是堆、棧、自由儲存區、全域/靜態儲存區和常量儲存區。棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清除的變數的儲存區。裡面的變數通常是局部變數、函數參數等。堆,就是那些由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用程式去控制,一般一個new就要對應一個delete。如果程式員沒有釋放掉,那麼在程式結束後,作業系統會自動回收。自由儲存區,就是那些由malloc等分配的記憶體塊,他和堆是十分相似的,不過它是用free來結束自
Time of Update: 2018-12-04
#include<windows.h>#include<string.h>#include<tchar.h>#include<stdio.h>#include<stdlib.h>#include"resource1.h" HMENU hmenu,hprintmenu;LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(
Time of Update: 2018-12-04
很久沒寫文章,一直在看別人的部落格,今天也寫篇,一則回報各位網友的知識恩賜,二則也為 了提高自己。聲明:由於本人知識有限,如有紕漏,直接指正,以免誤導各位! 重載:函數名字一樣,傳回型別和參數可以不一樣,編譯器連結時,會加上參數類型檢查(c沒有函數參數類型檢查,所以C 沒有重載) 覆蓋:出現於類的繼承中,基類的函數不起作用,注意是通過基類的指標或是引用來訪問衍生類別(虛函數的重要特性,多態的體現,RTTI技術) 隱藏:出現於函數重載中,非虛函數可出現此情況。 還是代碼驗證吧,上代碼:
Time of Update: 2018-12-04
鄙人愚笨,看C++2月了 對於虛函數 還是不能深刻理解,今特寫些東西,再學習一下。程式:#include"iostream"using namespace std;class A{public: A(int i):a(i) {cout<<"調用建構函式A "<<endl;} void showa(){cout<<a<<"haha"<<endl;} void showw(){cout<<"A::"<<endl;}