Time of Update: 2018-12-03
爬山法是深度優先搜尋的改進演算法。在這種方法中,使用某種貪心演算法來協助我們決定在搜尋空間中向哪個方向搜尋。由於爬山法總是選擇往局部最優的方向搜尋,所以可能會有“無解”的風險,而且找到的接不一定是最優解。但是他比深度優先搜尋的效率要高很多。 主要的演算法描述如下: 1、構造由根節點組成的1元棧。2、檢查該棧的棧頂元素是否為目標節點,如果是,那麼停止,否則轉向3.3、從棧中刪除棧頂元素並擴充該元素,增加該元素的後代到棧中,進棧的次序按照評估函數值的順序(一般可以使用堆)4、如果棧是空的,那麼失敗,
Time of Update: 2018-12-03
MMS接收多媒體訊息為例。一, 抓取TCP DUMP資料1, 串連手機,在接收MMS前, adb shell tcpdump -i any -p -s 0 -w /data/capture.pcap (這個名字可以自己命名)2, 收完多媒體訊息完畢後, adb pull /data/capture.pcap 3, 在adb 檔案夾下 找到 capture.pcap .二 替換代碼: pduparser.java檔案中, parse 函數 將 步驟1中抓取的資料替換 public
Time of Update: 2018-12-03
華容道遊戲是非常經典的BFS應用的題目。下面是幾個我參考過的連結:使用java語言實現,充分體現OOAD和資料結構的應用,講的非常詳細,但是太過於複雜了:http://www.cppblog.com/tx7do/archive/2006/09/18/12691.html簡單版本的介紹,非常有用,而且有完整的原始碼:http://blog.chinaunix.net/u/19651/showart_395172.html雖然講的詳細,但是代碼也成這副樣子,值得同情:http://www.fjpts
Time of Update: 2018-12-03
1、const char *data();data()函數返回指向自己的第一個字元的指標. string str3="you are stupid!";char* cc=(char*)str3.data();*(cc+1)='n';cout<<cc<<endl; 由於data()函數返回的是const char*,所以不能直接通過指標修改返回的字串的值,如果要修改,必須把類型轉化為char*. 2、const char
Time of Update: 2018-12-03
1、安裝apk檔案出現相應的錯誤(1)提示錯誤OLDER_SDK,這表明現有的android的sdk版本太低,應該使用較高版本的sdk。(2)提示錯誤UPDATE_INCOMPATIABLE,這表明apk與現有的sdk存在相容性上的衝突,可以檢查一下是否使用了完全一樣的skin等參數設定,這些參數與apk應用程式的不一致也會導致安裝時候出現錯誤。(3) 有時安裝apk沒有出現錯誤,但是一運行就出現“程式異常終止”的錯誤:
Time of Update: 2018-12-03
TextView.javaprivate static final int ID_SWITCH_INPUT_METHOD = android.R.id.switchInputMethod; protected void onCreateContextMenu(ContextMenu menu) { super.onCreateContextMenu(menu);......if (canCut()) { int name; if
Time of Update: 2018-12-03
這是一道poj1184的題目,由於求解的是最優解,所以首先想到的就是使用廣度優先搜尋。對於這道題目我同時使用set容器,來作為狀態判重。 代碼如下:/* *POJ 1184 聰明的打字員 *版本1 : 普通的廣度搜尋 ,使用set進行狀態判重*/#include<iostream>#include<queue>#include<set>#include<ctime>//#include<fstream>#define
Time of Update: 2018-12-03
一,cherry-pick 流程:git branch 查看分支git branch -a 查看所有分支git checkout branch1 切換到branch1git cherry -v branch1 branch2 。列出 branch2上有 branch1上沒有的git cherry-pick commit 將commit取到當前分支上。二,git rebase 流程:git rebase branch1;出現衝突git add XXX.JAVAgit rebase --
Time of Update: 2018-12-03
1、建立Asterisk虛擬Sip
Time of Update: 2018-12-03
/* * 測試命令列參數 */#include<iostream>using namespace std;int main(int argc ,char* argv[]){ cout<<argv[0]<<endl; //第一個參數是應用程式名稱 cout<<argc<<endl; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /* *
Time of Update: 2018-12-03
極大極小搜尋策略一般都是使用在一些博弈類的遊戲之中: 這樣策略本質上使用的是深度搜尋策略,所以一般可以使用遞迴的方法來實現。在搜尋過程中,對本方有利的搜尋點上應該取極大值,而對本方不利的搜尋點上應該取極小值。極小值和極大值都是相對而言的。 在搜尋過程中需要合理的控制搜尋深度,搜尋的深度越深,效率越低,但是一般來說,走法越好。 極大極小搜尋可以分開寫,也可以放在一起寫。 主要的演算法步驟如下: 輸入:搜尋的深度輸出:節點的最佳走法,及其對應的最佳估值函數形式:int
Time of Update: 2018-12-03
astah 的前身是 jude,用過 jude 的會比較熟悉,jude 是一款比較流行的 uml 建模軟體。由於本人是從零開始學習UML,可能本文主要也是對那些想要學習 UML,並且打算使用 astah 的讀者有協助。下面就簡單介紹一下自己的安裝經驗。 1)下載 astah (官方網站:http://astah.change-vision.com/en/) astah 有很多種類,astah* professional; astah* UML;
Time of Update: 2018-12-03
今天學習了IDA*演算法,在這裡總結一下: IDA*演算法是A*演算法和迭代加深演算法的結合。 迭代加深演算法是在dfs搜尋演算法的基礎上逐步加深搜尋的深度,它避免了廣度優先搜尋佔用搜尋空間太大的缺點,也減少了深度優先搜尋的盲目性。它主要是在遞迴搜尋函數的開頭判斷當前搜尋的深度是否大於預定義的最大搜尋深度,如果大於,就退出這一層的搜尋,如果不大於,就繼續進行搜尋。這樣最終獲得的解必然是最優解。 而在A*演算法中,我們通過使用合理的估價函數,然後在獲得的子節點中選擇fCost最小的節點進行擴充,以
Time of Update: 2018-12-03
首先看一下http://www.cnblogs.com/zhangweia/archive/2010/08/19/1803434.html是調試android源碼的基本過程,但是如果是想調試IME時出現了一個錯誤:在eclipse的Debug環境下調試普通java程式時還未到我的斷點(斷點是打在onStartInputView,onCreateInputView等)就會出現Source not found.和一個Edit Source Lookup
Time of Update: 2018-12-03
StringUtil.javapackage com.lh.bean;public class StringUtil {// 需要分隔的字串private String str;// 分割後的字串數組private String strArr[];// 分隔字元號private String listSeparator;// 預設構造方法public StringUtil() {}public String getStr() {return str;}public void
Time of Update: 2018-12-03
<?php header("Content-type:text/html;charset=utf-8"); //使用mysqli大量新增 //1.得到mysqli對象 $mysqli=new MySQLi("localhost","root","root","worddb"); //判斷 if($mysqli->connect_error){ die($mysqli->connect_error); } $sqls="insert into words(
Time of Update: 2018-12-03
這一篇主要講解一下MFC中的6個主要的關鍵技術,整個Application Framework其實從本質上來說都是建立在這6個關鍵技術上的。所以能夠瞭解它們的原理對理解MFC整個架構和程式設計有非常大的好處。 1、MFC程式的初始化工作在MFC中所有的類都來源於一個基類:CObject。MFC程式初始化過程中,其實就是虛函數的調用的過程,分清調用執行的到底是哪一個具體的虛函數,是父類的虛函數,還是基類的虛函數,都是至關重要的。 2、RTTI運行時類型識別MFC程式運行過程中需要對類的類型進行
Time of Update: 2018-12-03
1、管道管道是半雙工的,也就是說資料只能在一個方向上流動。它們也只能在具有公用祖先的進程之間使用(通常一個管道由一個進程建立,然後該進程調用fork,此後父子進程之間就可以使用該管道了)。函數原型:#include <unistd.h>int pipe(int filedes[2]);傳回值:若成功返回0,若錯誤返回-1經由參數filedes返回兩個檔案描述符:filedes[0] 為讀開啟、filedes[1] 為寫開啟,file[1]的輸出就是file[0]的輸入。單個進程中的管
Time of Update: 2018-12-03
StringUtil.javapackage com.lh.bean;public class StringUtil {// 要檢查的字串private String str;// 是否包含英文字元private boolean hasEn;public void setStr(String str) {this.str = str;}public String getStr() {return str;}public void setHasEn(boolean hasEn)
Time of Update: 2018-12-03
寫wince程式尋得的中文文字換行加折行的方法:void loadTxtWordBreak(HDC hdc,RECT rect)//按行讀取txt檔案{ CString sAll, sLine;CString sWholePath;USHORT i;HANDLE hFile;DWORD NumberOfBytesRead;BOOL bSuccess;sWholePath = "\\hotMessage.txt";sWholePath = dirFile;hFile =