原创 Debian 9 安裝 NVIDIA顯卡驅動

我現在非常地慶幸,因爲我正在用我的圖形界面上的瀏覽器在寫這篇文章。半個小時以前,我的圖形界面無法啓動,並且這種情況持續了大概一天時間,也就是我把NVIDIA driver安裝在我的debian 9之後就無法啓動。 本來我是要安裝CUDA

原创 伸展樹

伸展樹,保證從空樹開始任意連續M次對樹的操作最多花費O(MlogN)時間。 當M次操作的序列總的最壞情形運行時間爲O(Mf(N))時,就說它的攤還運行時間爲O(f(N))。 因此,一棵伸展樹每次操作的攤還代價是O(logN)。 伸展

原创 關於模擬指針代碼的一點問題

雖然發了篇關於模擬指針的筆記,但是其中還是由不少問題的,既有理解方面的問題,也有原來代碼中可能存在的問題。我現在要說的就是後者。 在SimSpace類中有一個釋放節點的操作函數,即Deallocate()。在這個函數中, template

原创 HOW TO TALK ABOUT VARIOUS PRACTIONERS學習筆記

1.希臘詞psyche,意思spirit,soul or mind,加上logos,意思science or study,就是psychologist,意思one who studies the mind。 專業是psychology,

原创 Vector的實現

C++基本數組的一些重要特性: 數組就是直線一塊內存的指針變量,實際的數組的大小必須由程序員單獨確定。 內存可以通過new[]來分配,但是相應地必須用delete[]來釋放。 內存塊的大小不能改變(但是可以定義一個新的具有更大內存塊的

原创 棧ADT

棧(stack)是限制插入和刪除操作只能在一個位置上進行的表,該位置是表的末端。稱爲棧的頂(top)。對棧的基本操作是push(進棧)和pop(出棧),前者相當於插入,後者則是刪除最後插入的元素。 *對空棧進行pop或top操作,在棧中

原创 二叉查找樹

使二叉樹成爲二叉查找樹的性質是,對於樹中的每個結點X,它的左子樹中所有項的值小於X中的項,而它的右子樹中所有項的值大於X中的項。 BinarySearchTree類模板接口 template <typename Comparable

原创 隊列ADT

像棧一樣,隊列也是表,但使用隊列時插入是在一端進行的,而刪除是在另一端進行的。 基本操作: enqueue(入隊):在表的末端(稱爲隊尾)插入一個元素;dequeue(出隊),刪除(並返回)表的開頭(叫作隊頭)的元素。

原创 二叉樹

二叉樹是一棵每個結點都不能有多於兩個兒子的樹。 實現 struct BinaryNode { Object element; BinaryNode *left; BinaryNode *right; }; 具有N個