Time of Update: 2018-12-05
進程結束後,進程的所有記憶體都將被釋放,包括堆上的記憶體泄露的記憶體。原因是,當進程結束時,GDT、LDT和頁目錄都被作業系統更改,邏輯記憶體全部消失,可能實體記憶體的內容還在但是邏輯記憶體已經從LDT和GDT刪除,頁目錄表全部銷毀,所以記憶體會被全部收回。 一下這段代碼,我個人認為可以作為例證,不對請多指教:#include <cstdlib>using namespace std;const static int const_once = 1024*1024*2;int
Time of Update: 2018-12-05
題意:輸入N(0<=N<=1,000,000 )個長度為M(M<=30 )的字串,字典序輸出每種字串出現個數。分析:這裡採用兩種方法,一種是qsort,還有一種BST。 C++源碼:qsort:#include <stdio.h>#include <string.h>#include <stdlib.h>const int M = 1000000;const int N = 36;char s[M+1][N];int comp(const
Time of Update: 2018-12-05
題目:輸入一個正整數組,將它們串連起來排成一個數,輸出所能排出的所有數字中最小的一個。例如輸入數組{32,321},則輸出這兩個能排成的最小數字32132.分析:這是一道非降排序問題,比較規則如下:1、如果a,b位元相等,如12與31,則可直接比較大小。12<31,排序後結果為1231。2、如果a,b位元不等。考慮如下三種情況: a、31與312。大小為31>312,排序結果為31231 b、31與313。大小為31=313,排序結果為31313或者31331
Time of Update: 2018-12-05
題目:列印二元樹所有從根到葉子路徑。分析:採用二元樹的非遞迴後根遍曆,每次輸出節點內容的時候判斷是否為葉子節點,如果是則逆序列印棧裡內容。例子:輸入二元樹如下: 1 / / 2 3 / / 4 5 / / 6 7輸出:1、2、4 1、2、5、6 1、2、5、7 1、3 C/C++源碼:#include
Time of Update: 2018-12-05
大家每天都用SE,但是SE還有很多不算很到位的問題,大家來討論一下吧。 1、去重做的很不好。 比如檢索[編譯Android核心]這個主題,其實,一共很不同的結果只有2~3種(僅限前10頁),但是檢索出來的一大堆內容,很多都是重複的,只不過是不同人不同網站的相互轉載而已,完全沒有做到簡化我們檢索資訊的目的,給我們很大的麻煩。 我預想的解決辦法:綜合閱讀的實現
Time of Update: 2018-12-05
本文總結都是個人看法,有待討論,希望大家多多討論,嘿嘿。 1、a++和++a盡量使用++a,因為一般的話,++a要比a++快。這是為什麼呢?因為++a的實現是先把a加1(inc指令),然後把a的地址傳送下去;而a++的實現,也是先把a複製一份到記憶體單元b內,然後把a+1(inc指令),之後把b的地址傳送下去。所以a++比++a多了一份複製,會降低速度。 2、const修飾比非const快。這個很顯然,在編譯器做最佳化的時候,const對象不修改,可以外提和重用,所以最佳化率顯然比非const的
Time of Update: 2018-12-05
傳統的特點和本演算法的特色傳統的C-均值聚類演算法,沒有對樣本特徵進行最佳化,直接利用樣本驚醒聚類,這樣上述的這些方法的有效性很大程度的取決於樣本的分布。 距離的選擇我們假定樣本x被非線性函數der(x)映射到高維特徵空間,那麼,我的的歐幾裡得距離有:distence(x,y) = sqrt( len( der(x) - der(y) ) ) = sqrt(der(x)*der(x) + der(y)*der(y) - 2*der(x)*der(y))顯然,如果我門令K(x_i,x_j) =
Time of Update: 2018-12-05
#include <cstdio>#include <cstdlib>#include <stack>#include <queue>#include <list>using namespace std;struct btree{btree(char c):data(c),left(NULL),right(NULL){}char data;btree *left, *right;};void preOrder(btree* root)
Time of Update: 2018-12-05
精通VC與MATLAB聯合編程<十>——綜合舉例二作者:鄧科本文使用的工具:VC6.0+MATLAB6.5 在本章中實現的是在VC中調用MATLAB神經網路工具箱,文章中用到的程式是一篇碩士論文的一部分,因此沒有提供來源程式,目的是通過這個例子介紹如何在VC中調用利用com組件,實現VC和MATLAB資料的交換。首先在MATLAB中完成兩個神經網路函數,一個用來檢驗,一個用來預測。 1、檢驗函數:function [w1,b1,w2,b2,ET,a2]=SJHSJY(P,T,me,
Time of Update: 2018-12-05
Matlab有一個功能強大的曲線擬合工具箱 cftool ,使用方便,能實現多種類型的線性、非線性曲線擬合。 假設我們要擬合的函數形式是 y=A*x*x + B*x, 且A>0,B>0 。 1、在命令列輸入資料:》x=[110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447 296.204 311.5475];》y=[5 10 15 20 25 30 35 40 45
Time of Update: 2018-12-05
精通VC與Matlab聯合編程(六)作者:鄧科下載原始碼淺析VC與MATLAB聯合編程<一>淺析VC與MATLAB聯合編程<二>淺析VC與MATLAB聯合編程<三>淺析VC與MATLAB聯合編程<四>淺析VC與MATLAB聯合編程<五> Matlab
Time of Update: 2018-12-05
此題多數互連網公司都有提及,這裡簡單描述一下。首先,被問到這題應該先詢問資料規模與資料分布。如果資料規模比較小,在千數量級,採用O(nlgn)排序取前K個即可。如果資料為整形,且分布範圍不大,可以考慮計數排序,線上性時間中求解。其次,如果不是上面討論的情況,就是大規模一般情況。資料集可能在10億個整形數中取最大的1W個。10億個整形數全部裝入記憶體大概需要4G空間。以下採用兩種方法:1、快排方法,快排採用分治思想,每次把數組分成兩部分,所以這裡關鍵就是找到第K大的數的那次劃分,前一部分數組就是我
Time of Update: 2018-12-05
簡單手寫體數字識別系統 作者:陳海藝 (廣西工學院 電腦系)下載原始碼摘要 為了實現對手寫字型的識別,運用了人工智慧的分層神經網路思想,對識別的字型通過訓練學習,達到識別手寫字型的功能。關鍵字 VC,人工智慧,神經網路,手寫辨識。1 引言1.1
Time of Update: 2018-12-05
題意:已經一個5*5的二維數組,共中0代表可通過,1代表不可。求(0,0)到(4,4)即對角線的最短路,只允許上下左右走。分析:因為求最短路徑,所以是BFS不可DFS。關鍵在於如何記錄走過路徑,路徑隊列每次加入新節點務必記錄它的前驅節點,遍曆結束後從終點依照前驅節一直找到源點求最短路徑(由源點向終點可能多解,需要處理),然後用輔助棧反序。 C/C++源碼:#include <iostream>#include <cstring>#include
Time of Update: 2018-12-05
題意:一個r行、c列二維數組,每一點有一高度值,求最長的連續嚴格單調序列長度。分析:把所有點按從小到大排序,然後依次處理。如果當前點高度小於四周點高度,則最長序列長度為1.否則為四周點中高度小於此點的最大值加1。這是因為高度小的點先被處理。四周點只是上、下、左、右四點,不包括斜著的鄰近點。另外為了方便邏輯處理,可以在二維數組加一圈外圍。 C源碼: #include <stdio.h>#include <stdlib.h>#define d_num 4#define
Time of Update: 2018-12-05
struct rect{ int l,r,t,b;};struct tag_paint{ int hdc; int fErase; struct rect rcPaint; int fRestore; int fIncUpdate; int rgb_1; int rgb_2; int rgb_3; int rgb_4; int rgb_5; int rgb_6; int rgb_7; int rgb_8;};void DefWindowProc(int hwnd,int msg,int
Time of Update: 2018-12-05
題意:輸入N個(0<=N<=10000)電話號碼,輸入只包括0-9,A-Z(除Q、Z)和連字號,其中A-Z的26字母除Q與Z分別對應相應一位元字。按字典序輸出出現次數大於2的電話號碼標準形式(即全部由數字組成並且3、4位有一個連字號)與出現次數。如果沒有次數大於2的電話號碼輸出“No
Time of Update: 2018-12-05
K-L 變換,也就是PCA,得到的是MSE下的最優結構,但有時對於分類效果並不是很好。所以我們引入了ICA。如果是PCA是使二階積累量為0的話,那麼ICA就是前四階積累量都是0.那ICA是什麼意思呢?類別資訊的源頭是一組獨立的分量,但是類別資訊表現出來的是一組互相相關的分量,當然這組分量的個數應該大於獨立分量的個數。我們的任務就是去除這種互相關;使分量由相關的一組,變為無關的一組,也就是獨立成分。 那具體該怎麼做呢?我們一下有這麼三個方法: (一)累積量法 k1(z) = E[zi] ;k2
Time of Update: 2018-12-05
開啟C:/WINDOWS/system32/drivers/etc目錄下的hosts檔案(可以用記事本開啟,如果檔案屬性是唯讀,就把唯讀去掉,win7更改下許可權就可以)裡面預設的內容只有:127.0.0.1 localhost在裡面添加:127.0.0.1 adcontorl.tudou.com 127.0.0.1 valf.atm.youku.com
Time of Update: 2018-12-05
精通VC與MATLAB聯合編程<八>——編譯器的使用作者:鄧科下載原始碼淺析VC與MATLAB聯合編程<一>淺析VC與MATLAB聯合編程<二>淺析VC與MATLAB聯合編程<三>淺析VC與MATLAB聯合編程<四>精通VC與MATLAB聯合編程<五>精通VC與MATLAB聯合編程<六>精通VC與MATLAB聯合編程<七> 在上一章中對MATLAB