原创 紅黑樹

紅黑樹     紅黑樹也是二叉搜索樹,只是每個結點增加顏色表示。     紅黑樹有以下規則:每個結點不是red就是black根結點爲black若結點爲red,則它的兩個子節點爲black從每一條路徑(根到葉)均有相同數目的black*紅黑樹

原创 斐波那契數列

遞歸與循環    若我們要重複的多次計算相同的問題,通常可以選擇用遞歸或者循環兩種方法。int AddFrom1ToN(int n) { int add = 0; for (int i = 1; i <= n; i++) { ad

原创 大數問題

題目:打印1到最大的n位數一開始看到這個題覺得很簡單,就隨手寫了一小段程序,後來才深深意識到還是too young too naive。以下這段是第一次寫出的代碼。運行正確又怎樣?你輸入一個1000000000000000000000000

原创 醜數

醜數    一般把只包含因子2,3,5的數稱爲醜數,一般1爲第一個醜數題目:求第N個醜數程序1:比較直觀但是時間效率不高的算法bool IsUgly(int number) { while (number % 2 == 0) numb

原创 Linux基礎篇(一)

一、簡介計算機1.計算機五大單元:輸入單元:鍵盤、鼠標、掃描儀、手寫板中央處理器(cpu):含有算數邏輯,控制、記憶等單元輸出單元:顯示器,打印機。*這裏的存儲器指內存*cpu讀取的數據都是從內存中來的,cpu處理完成的數據,必須先寫回內存

原创 大數問題

題目:打印1到最大的n位數一開始看到這個題覺得很簡單,就隨手寫了一小段程序,後來才深深意識到還是too young too naive。以下這段是第一次寫出的代碼。運行正確又怎樣?你輸入一個1000000000000000000000000

原创 子進程

  1.fork()函數     include<unistd.h>     一個現有進程可以調用fork函數穿件一個新進程,子進程返回0,父進程返回子進程ID,出錯返回-1     子進程是父進程的副本,子進程獲得父進程的數據空間、堆和棧

原创 關於矩陣的題

題目:順時針打印矩陣 void printnumber(int x) {                 cout << x << " " ; } void PrintMatrixInCircle(int (*num)[4], int co

原创 vim、g++、gdb及makefile的學習

<一>.vim    一.vim有主要有三種模式:命令模式、插入模式、底行模式        1.命令模式(command mode)            控制光標的移動、字符、字或行的刪除,移動複製某段進入Insert mode下,或者

原创 關於查找與排序的面試題

題目:    旋轉數組的最小數字    把一個數組最開始的若干個元素搬到數組的末尾,輸入一個遞增排序的數組的一個旋轉,輸出旋轉數字的最小元素。    例:{2,3,4,0,1}是{0,1,2,3,4}的旋轉,該數組最小值爲0程序1.0   

原创 求最小的k個數

輸入n個整數,找出其中最小的k個數    解法1:需要修改輸入的數組,基於partition快速排序來做,時間複雜福O(N)    分析:基於數組的第k個元素來調整,使的比第k個數大的所有數字放到數組的右邊,這樣,數組左邊k個就是最小的k個

原创 哈希表

HashTable-散列表/哈希表,是根據關鍵字(key)而直接訪問在內存存儲位置的數據結構。它通過一個關鍵值的函數將所需的數據映射到表中的位置來訪問數據,這個映射函數叫做散列函數,存放記錄的數組叫做散列表。直接定址法--取關鍵字的某個線性

原创 將博客搬至CSDN

歡迎訪問http://blog.csdn.net/sekai_z

原创 查找與排序

 查找和排序都是程序中經常用到的算法 一、查找    查找分爲:順序查找,二分查找、哈希表查找和二叉樹排序查找。    哈希表和二叉樹查找的重點在於其數據結構。哈希表的主要優點是能夠在O(1)的時間查找某一元素,是效率最高的查找方式。其缺點

原创 紅黑樹

紅黑樹     紅黑樹也是二叉搜索樹,只是每個結點增加顏色表示。     紅黑樹有以下規則:每個結點不是red就是black根結點爲black若結點爲red,則它的兩個子節點爲black從每一條路徑(根到葉)均有相同數目的black*紅黑樹