Time of Update: 2018-12-04
五一劄記 每年的五一都是必定要回家的,一方面是因為家裡人想念和想念家裡人,另一方面是因為春夏之交的時候回到家裡總是能看到滿眼綠意。光是坐在二樓陽台上看大片大片的田野都是一種難得的享受。 這次回家發生了一件趣事。 說來也實在有點慚愧,身在揚中二十幾年,居然只去過江邊寥寥幾次。揚中是長江第二大島,四面環江,無論身居何處,騎車到最近的江邊總不會太遠。而這次去江邊玩則是因為妹妹嚷著要去,沒法,總不能老欠著,於是便允了。 家鄉的空氣非常好,在鄉間小路上騎車,口鼻間滿是植物的清香,春夏的太陽照在背上暖洋洋的
Time of Update: 2018-12-04
用STL實現DFS/BFS演算法——檢查重複狀態前幾天,有網友留言說我使用“先深”、“先寬”的說法是狗屁二流子詞彙,正確的說法應該是“深度優先”,“廣度優先”。態度和用詞雖然有點讓人不好接受,但提的意見終歸是有點道理的。請實話,我已經不記得最早是從哪裡學來的“先深”、“先寬”,但可以肯定一點,本人是發明不出這樣的詞彙的,只是認為這兩個詞還不錯,比較簡單明了,所以就用上了。後來,我上GOOGLE查了一下,結果發現的確用四個字的比用兩個字多得多,看來多數人還是喜歡長一點的詞,或者說長一點的那兩個詞更
Time of Update: 2018-12-04
讀古龍的歲月(四) 誰說英雄寂寞?我們的英雄就是歡樂的。 坐車的次數多了,難免會遇到一些奇特的事情。身居浦口,關於坐車最奇怪、但又最不奇怪的事情恐怕就要數擠車了。而其中最擠的一路恐怕要數鼓揚線。 不幸的是,我經常要坐鼓揚線。 鼓揚線上的乘客大都來自揚子,6點多便從家裡出發,坐一個多小時的車趕到市區上班。每天在車上消耗三個小時,一年(除去雙休日)便是近900個小時,即近40天。快九分之一的生命在顛簸中消失。而且這一過程還是發生在擁擠不堪的車廂裡,挪動維艱,倒立著都不會摔倒。 乘車的時候經常會看到運
Time of Update: 2018-12-04
在引入boost.Multi_index容器,我想有必要先整理一下DFS/BFS的代碼。主要的修改是,不再使用queue容器和stack容器,而用list容器來替換它們。原因是,queue和stack容器會把已搜尋過的結點刪除掉,而我們如果要在容器內進行查重的話,就必須保留所有結點,所以不能使用這兩種容器。一開始我也想過使用vector容器,不過由於我們最終的目標是Multi_index容器,它不能象vector那樣進行隨機訪問,它只能實現list容器的功能,為了便於向Multi_index過渡
Time of Update: 2018-12-04
讀古龍的歲月(一) “天涯遠不遠?”“不遠”“人就在天涯,天涯怎麼會遠?” 第一次讀古龍的小說是在高三的黑色七月。現在回想起來,當然已經不記得當初是哪個傢伙塞了一本《天涯·明月·刀》給我了。在那段夾縫裡生存的日子裡,壓力既不是讓人進步或後退,也不是讓人崩潰,而是把人生生擠壓成文學青年。 我記得當時有一個習慣,就是每次吃完飯回教室的過程中,路過教學樓轉角的廁所時,都要順便蹩到廁所旁的書店裡面去溜達一圈。其實學校將書店緊設在廁所旁邊不管是否偶然,都是個絕妙的安排。一來廁所是一所學校人流量第二大的地方
Time of Update: 2018-12-04
用STL實現DFS/BFS演算法——基於策略的類設計在引入boost.Multi_index容器之前,我想有必要先整理一下DFS/BFS的代碼。修改是出於以下幾方面原因,其中之一是:近期拜讀了Andrei Alexandrescu的《Modern C++
Time of Update: 2018-12-04
【一段時間的磕磕碰碰,偶爾思索,偶爾躁動,依然難以找到一個可以完美說服自己的理由。彷徨在各種各樣的自我設想的十字路口,本來清晰的視野也變得黯淡,所以還是要定期梳理一下自己的思緒。】
Time of Update: 2018-12-04
這次又有一點小的修改,主要是關於StateSpaceTreeSearch的第二個模板參數的。它是用於指定選用BFS還是DFS,原來我是讓使用者選擇BFSInserter和DFSInserter兩者之一。後來想想,好象不應該讓使用者看到這兩個結點插入策略,畢竟使用者並不關心這一點。使用者關心的僅是如何在BFS和DFS兩者之間選擇一個,所以我把選擇的方法改為用一個bool常量來指定。把原來的SearchInserter模板參數改為一個非類型模板參數,命名為UseBFS,當它為true時就用BFS,否
Time of Update: 2018-12-04
給定一個數組a1,a2,a3,...an,b1,b2,b3..bn,最終把它置換成a1,b1,a2,b2,...an,bn。分析:本題是完美洗牌問題的變形。完美洗牌問題: 給定一個數組a1,a2,a3,...an,b1,b2,b3..bn,最終把它置換成b1,a1,b2,a2,...bn,an。我們先解決完美洗牌問題。為方便起見,我們考慮的是一個下標從1開始的數組,下標範圍是[1..2n]。 我們看一下每個元素最終去了什麼地方。前n個元素 a1 -> a2 a2->a4....
Time of Update: 2018-12-04
閑來無事,自己敲了段js,發現諸多問題,暫不得其解:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title> New Document </title> <meta http-equiv="Content-Type"
Time of Update: 2018-12-04
關於劉慈欣的若干個標題 By
Time of Update: 2018-12-04
Interviewing the Parallel Programming Idols並行編程大牛專訪 By Michael SuessThinking Parallel(http://www.thinkingparallel.com) By
Time of Update: 2018-12-04
1.沒有一張紙可對摺超過9次 2.根據統計每年騾子所殺的人比飛機失事所死的人還多 3.人睡覺比坐著看電視所消耗的卡路裡還多 4.第一種有條碼的對象是香口膠 5.Wright’s Brother發明飛機後第一次試飛的路程比一架波音747飛機的飛機翼還短 6.1987年,美國一間航空公司將每個頭等機位的飛機餐減少一粒橄欖後,節省了約35萬港元 7.很多人每朝起來都喝一杯咖啡提神,但其實一個蘋果比一杯咖啡還有效 8.你的家中多數塵埃都是你的死皮
Time of Update: 2018-12-04
《語言本能》 The Language Instinct - How the Mind Creates Language Steve Pinker 一位科學家贈與我的書,之前工作太忙一直沒時間讀完,後來他離開中國回了美國,整理他留給我的書籍時才重新開始閱讀。邊閱讀邊寫下一些記憶的片段,將來或許可以拼成某種景象。 在深入讀這本書之前,最好懷疑一下:語言不是後先習得得一種能力嗎,難道說語言是人與生俱來的一種能力,是一種本能,為什麼有人會這麼認為呢? To be continued.
Time of Update: 2018-12-04
讀古龍的歲月(三) 古松居士也笑了,道:“所以我常說你若不喝酒,定能活到三百歲。”木道人道:“若是沒酒喝,我為什麼要活到三百歲?” 大一上學期有一段時間我總是在夢裡回到高中,回到高三的課堂上。這一現象令我感到非常困惑,一方面我覺得自己是一個非常放得下的人,這一點從一進大學就將早起時間調整到十一點半並且選修課必逃必修課選逃就能夠得到證明。另一方面我自認為高中的生活雖然緊張但也不至於在我內心留下陰影;我從小就是一個比較開朗的孩子,這一點從我欺負了別人家的小孩從來就沒有放在心上可以得到證明。第三,我
Time of Update: 2018-12-04
用STL實現先深搜尋及先寬搜尋 先深搜尋和先寬搜尋演算法是對問題狀態空間樹(state space tree)進行搜尋的兩種方法。問題狀態空間樹是指用樹的結構來表示所有的問題狀態,樹中的每一個結點確定了所求解問題的一個問題狀態(problem state);樹中有些結點代表的是答案狀態(answer state),即是那些滿足求解條件的狀態。要從一棵問題狀態空間樹中找出滿足求解條件的答案狀態結點,辦法有兩種:先深搜尋法DFS(depth first
Time of Update: 2018-12-04
用STL實現先深搜尋及先寬搜尋——數獨(sudoku)例子(2)前面我們用一個遊戲——數獨sudoku,實作出了一個簡單(但效率較差)的解法,驗證了我們的DFS和BFS演算法。為簡單起見,我們採用了最簡單的解法而暫不考慮效率。這裡,我們嘗試改進一下數獨問題解法的效率,並將新的解法與原來的解法進行一個效率的對比。從DFS/BFS演算法中可以看出,搜尋演算法的執行效率主要取決於問題狀態空間樹的大小,如果狀態空間樹每層的分支較少,則樹的結點也會較少,這樣搜尋就可以更快結束。所以,我的基本想法就是,盡量
Time of Update: 2018-12-04
一、Button 按鈕按鈕是程式中最常見的一個元素,我們通過一個例子感受一下,代碼的講解都寫在注釋裡了,所以我就直接上代碼和代碼的運行結果。package android.basic.lesson9;import android.app.Activity;import android.os.Bundle;import android.view.View;//不熟悉內部類的朋友可以留意一下這裡的匯入方式import android.view.View.OnClickListener;import
Time of Update: 2018-12-04
用STL實現先深搜尋及先寬搜尋——N皇后問題例子前兩天在sharpdew的BLOG (http://blog.csdn.net/sharpdew)
Time of Update: 2018-12-04
網上關於委託與事件的使用方法和例子有很多,看得確實頭暈,講了使用事件的大致步驟:1. 聲明關於事件的委託;2. 聲明事件;3. 編寫觸發事件的函數;4. 建立事件處理常式;5. 註冊事件處理常式;6. 在適當的條件下觸發事件。 個人覺得其實就分為大致四步,結合下面案例:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;