原创 3.2 隊列

基本概念 隊列定義及特點 隊列(queue)是一種只能在某一段進行插入,在另一端進行刪除的線性表。 將進行插入和刪除的兩端分別稱爲隊首(front)和隊尾(rear)。 將元素進入隊列成爲入隊(enqueue),將元素從隊列中刪

原创 定點整數加減法

1.補碼加法的性質:補碼的和等於和的補碼。 進行補碼加法時,符號位參與運算。最後把超出的進位丟掉。 2.補碼減法依然轉化爲加法來做。一個補碼錶示的數的相反數,可以“逐位取反再加一”得到。 3.溢出(overflow)檢測:正

原创 2.1 線性表的定義、邏輯結構、基本操作

線性表的定義 線性表(linear list)是具有相同特性的數據元素的一個有限序列。 設其二元組表示L=(D,R) 則 D={ai|i∈[1,n],n≥0,∀ai都是同一類型} R={r} ,r={<ai,ai+1>|i∈

原创 Discuz!X json輸出解析後模板

Discuz的模板機制可以很方便的用HTML寫出前端模板,然後將模板直接輸出到瀏覽器。 一般情況是,解析的模板是整個頁面的。直接將需要更新的頁面部分輸出即可,不過有些時候可能要一個json傳送多組數據。這樣直接輸出就不行了。再手

原创 2.2線性表的順序存儲結構

線性表的順序存儲結構 順序存儲結構是把所有元素按次序的存放在存儲器中一塊連續的空間中,線性表的順序存儲結構簡稱順序表(sequential list)。 用數組data[M]可以很自然的表示順序表,其中M表示順序表的最大長度(也

原创 整數與浮點數的表示

有符號整數 首先約定數的真值:一個n 位的二進制數a=(±)xn−1xn−2...x0 ,如果不使用符號,則默認認爲是正數。真值沒有符號位。 三種編碼方式 原碼(符號與幅值,sign and magnitude) 一個n 位的

原创 PHP上傳圖片並縮放

PHP上傳文件,文件的相關信息保存在$FILES這個全局變量裏,文件本身保存在php.ini指定的臨時文件夾下。 對圖片縮放,有兩個好處,一個是安全性問題能夠滿足,第二個能夠將不必要使用大圖的地方節省服務器的流量。 主要是用幾

原创 第2章 線性表綜合習題(leetcode)

這裏選擇一些關於線性表的leetcode的習題。這些習題主要以順序表和鏈表爲主,需要熟練掌握順序表和單鏈表的基本操作,同時綜合使用之前學習過的一些算法設計方法和技巧。 習題的順序與難度無關。 刪除有序數組重複元素(Remove

原创 《數據結構》課程緒論

《數據結構》課程緒論 使用教材: 《數據結構教程》第5版 李春葆 清華大學出版社 參考書: 《數據結構與算法分析 C語言描述》(第2版) Mark Allen Weiss 機械工業出版社 《算法導論》(第3版) Cha

原创 4.2 字符串模式匹配

概念 模式匹配的定義:對於一個長度爲n 的文本字符串s[1..n] ,且長度爲m 的模式字符串t[1..m] 。其中滿足m≤n 。s 和t 都來自有限字符集合Σ 。(例如小寫英文字母集Σ={a,b,c,d,...,z} )如果s

原创 2.5 有序表

簡述 有序表(ordered list)是指所有元素按照遞增或者遞減的方式組織的線性表。 一些數據結構教材中,沒有單獨將有序表列出來講解,因爲有序表實際上只是線性表的一種特殊形式,大多數操作與線性表無異,只是插入和刪除需要維護其

原创 3.1 棧及其基本應用

基本概念 棧的定義及特點 棧(stack)是一種只能在一端插入和刪除的線性表。允許插入刪除的一端稱爲棧頂(top),反之的一端稱爲棧底(bottom)。 棧滿足特性:後進先出(Last-in First-Out, LIFO)。

原创 2.3 線性表的鏈式存儲結構(鏈表)

基本概念和特點 鏈表的定義 -線性表的鏈式存儲結構稱之爲鏈表(linked list)。鏈表包括兩部分構成:數據域和指針域。數據域保存數據元素,指針域描述數據元素的邏輯關係。 - 鏈表通常使用帶頭結點的表示。指向頭結點的指針稱之

原创 Writing a sort comparison function

When you are writing a sort comparison function (say, to be passed to ListView_SortItems or gasp to be used as an I

原创 4.1 字符串及其表示

總述 基本概念 (字符)串(string)是指由零個或者多個元素(字符)組成的有限的序列。序列中所含的字符的個數稱爲該串的長度(教材中討論的都是基於ASCII編碼的字符串的長度,這裏不討論Unicode、GBK等多字節寬字符的情