原创 散列表(哈希表)及其實現

基本概念 哈希表(Hash table,也叫散列表),是根據關鍵碼值(Key value)而直接進行訪問的數據結構。也就是說,它通過把關鍵碼值映射到表中一個位置來訪問記錄,以加快查找的速度。這個映射函數叫做散列函數,存放記錄的數組

原创 新文章轉移到個人網站

如題,我已經制作了自己的個人網站: https://www.luoluolzb.cn 之後的新文章發佈在自己的個人網站中。

原创 AVL樹(平衡二叉樹)及其實現

概念 AVL樹是高度平衡的二叉排序樹。 它的特點是:AVL樹中任何節點的左右子樹的高度差(平衡因子)的絕對值不大於1。 它需要每次在平衡因子不爲0,-1,1時進行調整,使樹的再次平衡。從而達到高效的查找。 點擊這裏:AVL

原创 EasyUI Base - EasyLoader(加載器)

EasyLoader用於動態加載EasyUI插件,使之可以自定義加載需要的插件。 使用場景 出於性能的考慮, 不一次性的加載easyui核心js、css文件, 而是先展示基礎文檔結構。 項目只是簡單的用到easyui的幾個組件,

原创 各種排序算法(內部排序)及其實現

本文是基於《數據結構(C語言版)(第二版)》(嚴蔚敏)其排序章節所做的總結。因此具體解釋可以去參考 此書。 相關概念 什麼是排序 排序是按關鍵字的非遞減或非遞增順序對一組記錄重新進行排列的操作。 數學描述: 設n個記錄的序列

原创 php socket創建簡單的HTTP服務器

創建一個http服務器步驟: 創建socket套接字 綁定某個地址和端口 開始監聽,並根據客戶端的請求做出響應 關閉socket(可以省略,php可以自動回收資源) PHP代碼 <?php /** * @descriptio

原创 圖的遍歷及最小生成樹(prim,kruskal)的實現

關於圖的介紹網上很多,這裏就不介紹了,直接上代碼: 最小生成樹算法可以看看:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/30/2615542.html #include

原创 圖的最短路徑算法(Dijkstra,Floyd)的實現

從某個源點到其餘各頂點的最短路徑 迪杰特斯拉算法 Dijkstra(迪傑斯特拉)算法是典型的單源最短路徑算法,用於計算一個節點到其他所有節點的最短路徑。主要特點是以起始點爲中心向外層層擴展,直到擴展到終點爲止。 算法步驟如下:

原创 鏈表的快速排序及冒泡排序

快速排序的思路 衆所周知,快速排序的核心思想是:選定基準值並排好其位置, 根據基準值將序列分割兩半,分別遞歸之。 單鏈表尋找基準點的方法:用兩個指針i和j,這兩個指針均往next方向移動,移動的過程中保持i之前的節點值都小於(或大

原创 二叉樹各種遍歷算法(遞歸及非遞歸算法)

遍歷的概念: 所謂遍歷(Traversal)是指沿着某條搜索路線,依次對樹中每個結點均做一次且僅做一次訪問。遍歷是二叉樹上最重要的運算之一,是二叉樹上進行其它運算之基礎。二叉樹上訪問結點所做的操作依賴於具體的應用問題。 遍歷方

原创 第七屆藍橋杯決賽真題 - 一步之遙

題目: 一步之遙 從昏迷中醒來,小明發現自己被關在X星球的廢礦車裏。 礦車停在平直的廢棄的軌道上。 他的面前是兩個按鈕,分別寫着“F”和“B”。 小明突然記起來,這兩個按鈕可以控制礦車在軌道上前進和後退。 按F

原创 《C++編程風格》第四章:虛函數

原書抄錄: 組件之間的交互關係更少並且更簡單,將使得程序更容易理解和維護。(低耦合,高內聚) 當我們要決定在一個類中到底是使用數據成員還是函數成員來表示一個特性時,我們首先應該考慮: 這個特性是用屬性值來描述的還是由用行爲來描

原创 [藍橋杯練習系統]基礎練習 十六進制轉八進制

原題鏈接:http://lx.lanqiao.cn/problem.page?gpid=T51 基礎練習 十六進制轉八進制 時間限制:1.0s 內存限制:512.0MB 問題描述   給定n個十六進制正整數,輸出它們

原创 二叉搜索樹(二叉查找樹、二叉排序樹)及其實現

二叉排序樹的定義 二叉排序樹(Binary Sort Tree),又稱二叉查找樹、二叉搜索樹。它或者是一棵空樹;或者是具有下列性質的二叉樹: 1. 若左子樹不空,則左子樹上所有結點的值均小於它的根結點的值; 2. 若右子樹不空

原创 線索二叉樹的生成及遍歷

概念 線索二叉樹:按照某種遍歷方式對二叉樹進行遍歷,可以把二叉樹中所有結點排序爲一個線性序列。在改序列中,除第一個結點外每個結點有且僅有一個直接前驅結點;除最後一個結點外每一個結點有且僅有一個直接後繼結點。這些指向直接前驅結點和指