單鏈表的快速排序和數組的快速排序在基本細想上是一致的,以從小到大來排序單鏈表為例,
都是選擇一個支點,然後把小於支點的元素放到左邊,把大於支點的...
求數組中第K大的數可以基於快排序思想,步驟如下:
1.隨機選擇一個支點
2.將比支點大的數,放到數組左邊;將比支點小的數放到數組右邊;將支點放到中間...
B樹 即二叉搜索樹:
1.所有非葉子結點至多擁有兩個兒子(Left和Right);
2.所有結點存儲一個關鍵字;
3.非葉子結點的左指針指向小於其關鍵字的子樹,右指...
文/騰訊soso 喬建秀
喬建秀,國內早期從事搜索引擎技術的專家,擁有十年的搜索經驗。作為搜索首席架構師,2000年-2007年在中搜在線工作。2007年以高端技術專...
原文標題:Anatomy of a Program in Memory
原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,隻好挑一些國外高手的精彩文章翻譯一下。一來...
摘要:本文簡要綜述了幾種常見的函數調用方式。
關鍵字:__stdcall,__cdecl,__thisclass,_fastcall
我們經常可以看到這樣的函數聲明:
void __cdecl fun(...
計算機經典書籍
各種計算機語言的經典書籍
1. Java
Java編程語言(第三版)---Java四大名著----James Gosling(Java之父)
Java編程思想(第2版)----Jav...
摘要:本文簡要介紹了當數據量大到不適合在內存中排序時,利用磁盤進行排序的多路歸並算法。
關鍵字:外排序,磁盤排序,多路歸並
下麵以一個包含很多...
摘要:本文給出了C++關鍵字的使用頻度列表並且對一些比較生僻的關鍵字做了簡要解釋
關鍵字:C++,關鍵字,保留字,explicit,volatile,mutable,register
...
摘要:本文簡要介紹了c++中使用靜態變量實現單件模式的方法
關鍵字:單件模式,單例模式,singleton,靜態變量
如果在程序的整個生命周期中,需要且隻...
摘要:本文簡要介紹了並查集的基本原理,並且給出了簡單易於理解的數組實現。本文給出的實現方法
使用數組而不是通用的樹結構,是為了方便對並查集的理解...
摘要:本文介紹了通用並查集的樹形實現,通過壓縮路徑和維持數的平衡,可以保證
查找和合並的平均時間複雜度為O(1)!
關鍵字:並查集,UnionFind,樹形
...
摘要:本文簡要介紹了采用貪心策略的最小生成的生成算法——Prim算法。文中首先給出了一個易於理解
的O(N^3)的實現,然後給出了優化後的O(N^2)實現,也就是...
摘要:本文簡要介紹了top-k(求一個序列中前K個最大或最小的元素)算法的二分實現方法,並給出了C++源
代碼
關鍵字:top-k,二分,快排序
網上介紹to...
問題描述:給定兩個正整數A,B(A和B可能超出計算機中國INT32,INT64的範圍,高達幾百甚至上千位),
求A和B相乘的積。
解決方案:
用計算機模擬手算的...
摘要:本文簡要介紹了拓撲排序算法的原理,並給出了基於鄰接矩陣實現的拓撲排序c++源碼
關鍵字:拓撲排序,topological sort,AOV網絡
最近在論壇上看...
題目比較簡單,但是這裏采用的一次遍曆方法還是比較通用的。
設:
arr: 數組, size=N
i:記錄上一次放置偶數的下一個位置, 初始i=0
j : 當前遍曆...