Time of Update: 2018-12-05
介紹:Dropbox特點:初始2GB,單個檔案上傳大小沒限制;我們想挑的一款網盤是在本地也儲存一份,在雲上也儲存一份的網盤,而不是單獨在雲上儲存;像360雲端硬碟雖然18G,最高36GB,但是全部儲存在雲端,比較不方便,因為如果需要使用,需要下載下來;效果:空間達18.88G,基本可以達到要求;描述:Dropbox有個任務是邀請最多32個好友,每個好友加500M的容量;最多能加16GB的容量;時間長度:每次大概2分鐘,一共需要32次,因此大概需要1個半鐘頭;準備工作:虛擬機器VMWare並安裝了
Time of Update: 2018-12-05
1.全域函數:find(begin,end,value); //刪除是value的所有元素2.在迭代器使用時務必注意超尾。3.list::remove(elem); //刪除elem的所有元素4.int set::erase(elem); //刪除elem的所有元素 5.iterator find(elem); //找到第一個elem。6.pair<set<T>::iterator,bool result>
Time of Update: 2018-12-05
advance(iterator pos,int n); 不檢查迭代器是否超過end(), 無傳回值。 iterator_traits<InputIterator>::difference_type distance(pos1,pos2);difference_type用於定義距離。 void iter_swap(pos1,pos2); //迭代器型別不一定相同,但pos1和pos2的內容可相互賦值 vector的迭代器類似於一般指標,C++不允許修改任何基本型別(
Time of Update: 2018-12-05
\r : return 到當前行的最左邊。\n: newline 向下移動一行,並不移動左右。Linux中\n表示斷行符號+換行;Windows中\r\n表示斷行符號+換行。Mac中\r表示斷行符號+換行。曆史:斷行符號”(Carriage Return)和“換行”(Line Feed)這兩個概念的來曆和區別。 在電腦還沒有出現之 前,有一種叫做電傳打字機(Teletype Model
Time of Update: 2018-12-05
一般來說,我們通常都是通過map中的key欄位進行排序,步驟如下:一、根據key對map進行排序TreeMap<String , Integer> map = new TreeMap<String,Integer>(new Comparator<String>(){ //直接添加比較子public int compare(String o1,String o2){ .....
Time of Update: 2018-12-05
Dijkstra:適用於權值為非負的圖的單源最短路徑,用斐波那契堆的複雜度O(E+VlgV)BellmanFord:適用於權值有負值的圖的單源最短路徑,並且能夠檢測負圈,複雜度O(VE)SPFA:適用於權值有負值,且沒有負圈的圖的單源最短路徑,論文中的複雜度O(kE),k為每個節點進入Queue的次數,且k一般<=2,但此處的複雜度證明是有問題的,其實SPFA的最壞情況應該是O(VE).Floyd:每對節點之間的最短路徑。先給出結論:(1)當權值為非負時,用Dijkstra。(2)當權值有
Time of Update: 2018-12-05
一般我們都是使用第一數學歸納法,但是對於第二數學歸納法,在演算法導論中也是經常使用,比如22.4-2中證明演算法正確性時會用到。第二數學歸納法原理是設有一個與自然數n有關的命題,如果: (1)當n=1時,命題成立; (2)假設當n≤k時命題成立,由此可推得當n=k+1時,命題也成立。那麼,命題對於一切自然數n來說都成立。還有二元數學歸納法:在Young表的演算法正確性證明中會用到。當m=1,對於任意的n,成立。假設m=k,對於任意的n,成立。當m=k+1時,(1)n=1時,成立。(2)假設n
Time of Update: 2018-12-05
看了“只有10%程式員能正確實現二分尋找演算法“這篇文章,閑著無聊,就實現一下他所說的正確的二分演算法;其實說穿了為什麼只有10%的程式員會寫錯,只是因為沒有考慮一些意外情況罷了;思想:二分尋找能解決問題:預排序數組的尋找1.使用泛型將二分尋找的對象泛化.2.考慮以下幾種意外情況:如果數組為null,則拋異常;如果沒有找到,則返回-1;其實我也不清楚有沒有bug...如果有人發現了,就指出吧。package com.xiazdong.binarysearch.util;public class
Time of Update: 2018-12-05
一、Struts2 類型轉換介紹 類型轉換:解析HTTP請求參數,將Http請求參數賦值給Action的屬性;比如: <s:form action="valid" > <s:textfield label="使用者名稱" name="name"></s:textfield> <s:password label="密碼" name="password"></s:password> <s:textfield
Time of Update: 2018-12-05
一、演算法實現由前面的理論,我們知道了用梯度下降解決線性迴歸的公式:梯度下降解決線性迴歸思路:演算法實現:ComputeCost函數:function J = computeCost(X, y, theta)m = length(y); % number of training examplesJ = 0;predictions = X * theta;J = 1/(2*m)*(predictions - y)'*(predictions -
Time of Update: 2018-12-05
多元線性迴歸其實方法和單變數線性迴歸差不多,我們這裡直接給出演算法:computeCostMulti函數function J = computeCostMulti(X, y, theta)m = length(y); % number of training examplesJ = 0;predictions = X * theta;J = 1/(2*m)*(predictions - y)' * (predictions -
Time of Update: 2018-12-05
#include<algorithm> //C++標準庫演算法#include<functional> //仿函數和函數配接器1.nonmodifying algorithm 非變動性演算法 (不改動元素,即只能讀取)2.modifying algorithm 變動性演算法3.removing algorithm 移除性演算法4.mutating algorithm
Time of Update: 2018-12-05
排列:從n個元素中任取m個元素,並按照一定的順序進行排列,稱為排列;全排列:當n==m時,稱為全排列;比如:集合{ 1,2,3}的全排列為:{ 1 2 3} { 1 3 2 }{ 2 1 3 }{ 2 3 1 }{ 3 2 1 }{ 3 1 2 }方法一:我們可以將這個排列問題畫成圖形表示,即排列枚舉樹,比如為{1,2,3}的排列枚舉樹,此樹和我們這裡介紹的演算法完全一致;演算法思路:(1)n個元素的全排列=(n-1個元素的全排列)+(另一個元素作為首碼);(2)出口:如果只有一個元素的全排列,
Time of Update: 2018-12-05
通過使用者名稱:XIAZDONG密 碼:minisapSAP*是沒有開發的許可權的;登陸之後,進入如下介面:在TCODE輸入框中輸入SE38,進入建立工程介面;注意:工程名必須以Z、Y、SAPMY、SAPMZ開頭,否則不能建立;輸入代碼: WRITE 'HELLO WORLD!!!'.點擊“DIRECT PROCESSING”即可運行;運行效果如下:點擊返回,儲存工程即可;此時,我們已經完成了Hello world的程式;
Time of Update: 2018-12-05
一、P、NP、NPC概念1971年,Stephen Cook提出了第一個NPC問題:布爾可滿足性問題。1973年,Leonid Levin提出了21個經典的NPC問題。1979年,Garey和Johnson出版了一本書:“Computers and Intractability: A Guide to
Time of Update: 2018-12-05
問題描述:在二維平面內給定n個點,尋找這些點中舉例最近的兩個點;思路:我們發現如果要將全部的點兩兩比較,則最起碼需要O(n^2),因此我們的思路是如果要求與某個點A距離最近的點,則需要縮小範圍,不用每個點都比較;我們需要使用分治法來求解;首先我們需要定義一些變數:Px:對於點按照x座標排序;Py:對於點按照y座標排序;Qx:對於左部分的點按照x座標排序;Qy:對於部分的點按照y座標排序;Rx:對於右部分的點按照x座標排序;Ry:對於右部分的點按照y座標排序;遞迴的出口就是如果只有三個點以內,則直
Time of Update: 2018-12-05
1964年Williams發明的,1992年Sedgewick發表了堆排序效能分析 "The analysis of
Time of Update: 2018-12-05
冒泡排序,EASY,演算法如下: /// <summary> /// 冒泡排序 /// </summary> /// <param name="a"></param> /// <param name="n"></param> static void BubbleSort(int[] a, int n) {
Time of Update: 2018-12-05
一、割點、割邊、雙連通分支概念掛接點(Articulation point)就是割點(Cut Vertex)橋(Bridge)就是割邊(Cut
Time of Update: 2018-12-05
實體:現實中可區別與其他對象的事物。實體可以是任何實際或抽象的。實體集是相同類型的實體的集合。實體是實體集的外延。聯絡集是實體(非實體集)之間的聯絡。實體集參與聯絡集。並且特定的實體間的關聯稱為聯絡執行個體。角色:當一個實體多次參與一個聯絡集中,則會有不同的角色。例如員工和工作之間,員工可能既是員工也是經理。聯絡集的描述性屬性:用來描述聯絡集。當一對多時,描述性屬性可以放入多的屬性裡。可以通過多值屬性來解決匹配問題。度:聯絡集關聯的實體集個數。域:屬性的可取值的集合。複合屬性:可再劃分的屬性。簡