原创 POJ 1426 Find The Mutiple

Find The Mutiple  Find The Multiple Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 22958   Accepted: 94

原创 POJ 3126 Prime Path

Prime Path  Prime Path Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14926   Accepted: 8404 Descripti

原创 希爾排序算法(排序詳解)

希爾排序  基本思想 希爾排序(Shell Sort)是插入排序的一種。也稱縮小增量排序,是直接插入排序算法的一種更高效的改進版本。希爾排序是非穩定排序算法。該方法因DL.Shell於1959年提出而得名。希爾排序是記錄按下標的一定增量分

原创 快速排序算法(排序詳解)

 快速排序  基本思想 快速排序又成爲分區交換排序,是目前已知的實測平均速度最快的一種排序方法,它是對冒泡排序方法的一種改進。其基本思想是:通過一趟劃分將要排序的序列分割成獨立的三個部分,即左部、基準值、右部。其中左部的所有數據都比基準值

原创 堆排序算法(排序詳解)

堆排序  基本思想 堆的概念 堆是一棵順序存儲的完全二叉樹。 小頂堆:每個結點的關鍵字都不大於其孩子結點的關鍵字。 大頂堆:每個結點的關鍵字都不小於其孩子結點的關鍵字。 舉例來說,對於n個元素的序列{R0, R1, ... , Rn}當且

原创 冒泡排序算法(排序詳解)

冒泡排序 基本思想 冒泡排序是一種交換類排序方法。交換排序是根據序列中兩個記錄關鍵字的比較結果來交換在序列中的位置。冒泡排序算法的特點是將關鍵字較大的記錄向序列尾部移動,關鍵字較小的記錄向序列前部移動,其不同點是他們按照特定的順序來選取

原创 稀疏矩陣的普通轉置與快速轉置算法

稀疏矩陣的普通轉置與快速轉置算法 一般來說,對於係數矩陣,我們使用三元組來存儲。即就是將矩陣的所有非零元素的三元組存放在一個順序表中,如圖所示: 注意一個轉置的前提:該順序表是排好序的,即行優先,列其次。 一、普通轉置 這種算法比較簡

原创 選擇排序算法(排序詳解)

直接插入排序(Selection Sort)算法 1.基本思想:                    選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理是每一次從待排序的數據元素中選出最小(或最大)

原创 樹狀數組

最近在學習位運算,正好把樹狀數組總結下,也算是能正式給data structure 建個分類。 那麼,樹狀數組到底有什麼用呢?誠然,一樣沒什麼卵用的東西我們學它幹嘛。 下面舉個樹狀數組的經典應用:區間求和。 假設我們有如下數組(

原创 八皇后&N皇后問題(回溯,位處理)

                                          N皇后問題        在N*N的棋盤上放置N個皇后,使得他們不會相互攻擊(每個皇后的攻擊範圍爲同行同列和同對角線),要求找出所有解,如圖所示:    

原创 C++中Sort函數的用法

sort函數的用法 做ACM題的時候,排序是一種經常要用到的操作。如果每次都自己寫個冒泡之類的O(n^2)排序,不但程序容易超時,而且浪費寶貴的比賽時間,還很有可能寫錯。STL裏面有個sort函數,可以直接對數組排序,複雜度爲n*log

原创 C++ map,set內部數據結構

C++ map,set內部數據結構   1)Set是一種關聯容器,它用於存儲數據,並且能從一個數據集合中取出數據。它的每個元素的值必須唯一,而且系統會根據該值來自動將數據排序。每個元素的值不能直接被改變。【重點】內部結構採用紅黑樹的平衡二

原创 Fabric-sdk-java源碼maven項目環境搭建(import報錯解決方案)

如果導入時,有彈框報錯:Failed to read the project description file (.project) for 'fabric-sdk-java-master'.  The file has been cha

原创 1064. Complete Binary Search Tree (30)

1064. Complete Binary Search Tree (30) A Binary Search Tree (BST) is recursively defined as a binary tree which has

原创 最小生成樹的Prim算法

最小生成樹的Prim算法 一、基本思想        取圖中任意一個頂點 v 作爲生成樹的根,之後往生成樹上添加新的頂點 w。在添加的頂點 w 和已經在生成樹上的頂點v 之間必定存在一條邊,並且該邊的權值在所有連通頂點 v 和 w