Time of Update: 2018-12-03
本章首先提出了中位元的概念,雖然有上和下中位元,簡單起見,這裡都是下中位元。 然後我們來看看最大最小值的問題:如果找最大值或最小值,需要n-1次比較,虛擬碼如下:MINIMUM(A)1 min ← A[1]2 for i ← 2 to length[A]3 do if min > A[i]4 then min ← A[i]5 return min
Time of Update: 2018-12-03
需求描述:調色盤(假設通過RGB調節),可以通過選擇或者輸入改變,也收到socket發送的RGB值後改變。另外,主介面有滑動條調節亮度。如果不用socket發送RBG,則可以直接參照列出的參考網址2即可。 成品及檔案的說明如下: CustomSocket.as完整代碼:package { import flash.errors.*; import flash.events.*; import flash.net.Socket;
Time of Update: 2018-12-03
gcc version 3.2.3,Linux tmp222 2.6.9-55.EL上的測試代碼 1,#include <iostream>#include <string.h>int main(){ char buf[] = ";132;312;213;;;aa"; std::cout<<buf<<std::endl; char* test; char* p = strtok_r(buf,
Time of Update: 2018-12-03
1、學c的時候,接觸過extern,沒深入研究,直到最近看c++編程思想,看到178頁extern const int x=100;對extern進行測試,首先test2.cpp如下內容int x=100;int y=200;然後test.cpp #include <iostream>#include "test2.cpp"using namespace std;extern int x; //放這可以表示x為全域int main(){ extern int y;/
Time of Update: 2018-12-03
由於上次做的調色盤,最終需要的成品,是需要將配置放在伺服器上,所以這次,在虛擬機器上搭建一個最簡單的伺服器,以做訪問測試用。 首先,在WMvare上的fedora9上,結果發現yum無效,總是提醒loaded plugins:refresh-packagekit
Time of Update: 2018-12-03
設定檔採用XML實現,簡略xml檔案test.xml如下:<?xml version="1.0" encoding="UTF-8"?><Config> <typeid>001</typeid> <typename>調色盤</typename> <rgb>cc33ff</rgb></Config>
Time of Update: 2018-12-03
如堆一樣,隊列也有2種,最大優先順序隊列和最小優先順序隊列。最大優先順序隊列的一個應用是在一台分時電腦上進行作業調度(終於搞到點有用的),對於最大優先順序隊列,支援以下操作: 1)INSERT(S,x)把元素x插入隊列S 2)MAXIMUM(S):返回S中最大元素 3)EXTRACT-MAX(S):去掉並返回S中最大元素 4)INCRESE-KEY(S,x,key)在x位置插入值key。 優先順序隊列,用堆實現,這就是看到的必殺運用了。 我們以82
Time of Update: 2018-12-03
今天看了下《編程之美》,正好看到將帥問題,將答案看完後,感覺,去微軟這幫人果然很猛,而且發現,面試題老喜歡搞一些bit級運算的東東,所以就總結一下,以備不時只需。希望也能幫到看的人。 現在大家都喜歡在位上搞點文章,從最簡單的移位元運算比乘2快,到進階的bit map法解決大資料量問題;從高層的bitset封裝類逐個位元影像法排序,到底層編程的CPU大小端,感覺面試,能在bit上做文章的東西真的不少。
Time of Update: 2018-12-03
以前學嚴蔚敏老師的資料結構的時候,看到基數排序,只是當按位排序,至於最終能不能排出所有的正確值,還是不清楚的,總感覺,就是按照個需要的關鍵字去排下,最終會和的部分還是沒去細心注意的。
Time of Update: 2018-12-03
#include <iostream>using namespace std;#pragma pack(push)//#pragma pack(2) //數字表示強制按照多少對齊,如為1,則最終輸出實際大小,為15,19 //如為2,則輸出16,20,因為距離2倍數最近的為16
Time of Update: 2018-12-03
電信系統常用計算 Version
Time of Update: 2018-12-03
堆排序是個很漂亮的演算法啊,第一部分講到了插入排序,歸併排序,並實現。這裡有2個概念:原地排序(在排序輸入數組時,只有常數個元素被放到數組以外的空間中去);穩定排序(就是相等的兩個數,排序前的順序與排序後的麼順序相同) 說到這個,就扯下吧,穩定排序有:冒泡排序、插入排序、歸併排序、基數排序。不穩定排序有:選擇排序、快速排序、希爾排序(shell)、堆排序。其中,插入排序,歸併排序,堆排序和快速排序都是比較排序(shell看做周期插入)。
Time of Update: 2018-12-03
本次主要是在上次的基礎上進行完善,為瞭解決一個問題:如果服務端意外關閉,或者網路突然斷開怎麼辦?想到了QQ掉線時的自動重連,於是改之。以前的socket,由於定義時會進行串連,那麼初次就串連不上呢?以後能手動串連嗎?
Time of Update: 2018-12-03
看到引言的第一句話,我就震驚了:集合是電腦科學的基礎!雖說老早說過離散數學(集合論和數理邏輯,圖論)是電腦的基礎,不過由於沒好好學,所以實在很難體會這話的真諦。 我們操作的集合,一般是動態集合,比如排序什麼的。上面的操作,就是倆,查詢和修改。
Time of Update: 2018-12-03
1、雜湊 關於HashMap的東東真是比較多,找了STL源碼看,那東西真不是菜鳥看的,還是看Java的吧,比較好的有這個http://uuubd.iteye.com/blog/1447129,其實這個數組和鏈表的圖很不錯,非常形象,另外一個http://www.iteye.com/topic/539465的圖也很不錯 為什麼是看HashMap,不是看HashSet什麼的,因為HashSet也是用HashMap去產生,還真是省力。 為什麼要用hash?
Time of Update: 2018-12-03
參考前面Fedora12的安裝過程。 限制:隨身碟1容量小,不能將netinstall的iso寫入;隨身碟2不能用於啟動系統(一個SanDisk盤,不明原因)。 過程:1,將fedora12的netinstall ISO寫入U盤1,然後刪除U盤1的所有目錄;2,將fedora13的netinstall ISO寫入U盤2,將U盤2的boot、EFI、syslinux目錄copy到U盤1,這樣U盤1就可以啟動fedora13的安裝過程了;將images目錄copy到fedora13
Time of Update: 2018-12-03
XML最近被吹的神乎其神,很多資料的交換,包括很多中介軟體系統,WebService,軟體的設定檔,都是在用XML這個技術,的確是個好東西,下面寫了個讀取XML的程式碼片段,用的是MSXML的一些介面。讀的是BT軟體的設定檔,XML內容如下:<?xml version="1.0"?><BitComet Author="RnySmile" Version="0.1"> <Settings>
Time of Update: 2018-12-03
第一步:關閉google案頭搜尋工具,在Windows資源管理員中設定"顯示所有檔案和檔案夾"; 第二步:修改註冊表,在運行中Regedit找到HKEY_CURRENT_USER/ Software/Google/GoogleDesktop,雙擊右側的“data_dir”項,這個就是當前Google案頭搜尋資料庫的路徑,把路徑中的資料copy到你的其他目錄下,比如E:/GoolgeDesktop什麼的; 第三步:將註冊表中“data_dir”路徑修改成你的新路徑。
Time of Update: 2018-12-03
第二章 首先講了最基礎的插入排序(雖然浩強哥的書基礎的是冒泡和選擇),然後講到了分治:將原問題劃分成n個規模較小而結構與原問題相似的子問題;遞迴的解決這些子問題,然後再合并其結果,就得到原問題的解。 分治策略的三步驟(P17):分解(Divide),解決(Conquer),合并(Combine)。 對演算法,如果在最壞情況下已耗用時間比另一個演算法的低,我們就常常認為此演算法效率更高。 插入演算法實現如下:void
Time of Update: 2018-12-03
昨天寫了個fork函數的幾行代碼#include<unistd.h>#include<stdio.h>int main(){ pid_t pid; if((pid= fork() )==0) cout<<pid<<"child"<<endl; cout <<pid<< "Hello world!" << endl; return