19 资料结构
第九章 資料結構 9-1 資料結構化應考慮的因素 9-2 陣列(Dimension) 9-3 堆 疊 9-4 搜 尋 9-5 內部排序 9-6 外部排序法 當程式所須處理的資料量非常龐大,為了有效運用記憶體及縮短執行次數,程式設計者必須嘗試各種演算法,以求得最佳的演算次數及記憶體安排,如何求得較佳的演算法及較佳的執行次數此一課題稱為資料結構,而巿面上的資料結構叢書大多匯整近百年數學家苦思而來的精彩方法科學供後人揣摩,讀者應以此為範本,精益求精應用於程式設計領域,而不是閉門造車,苦思一些前人早已發表的方法而洋洋得意,就如同電燈早已是十八世紀的產品,讀者千萬不要再研究如何發明電燈,而是去研讀電燈的原理,進而從此原理探討更加省電或更亮的燈泡。 資料結構乃是程式設計者必修的三學分課程,本書乃截取最精華最基礎的方法供讀者研習,希望有助於讀者啟發邏輯思考。 VB的一個缺憾為無指標型態(Pointer),故本章並無談及資料結構中的指標型態。 9-1 資料結構化應考慮的因素 當針對某特定問題時,如何將資料結構化,並選擇一種最有利於作業系統處理的模式,通常需考慮下列六項因素: (1) 資料數量的多寡。 (2) 資料的使用次數和方法(Access Frequency)。 (3) 資料的性質是動態性質或是靜態性質。 (4) 資料結構化後需要多少的儲存容量。 (5) 存取結構化後的資料所需花費的時間。 (6) 容易程式化否。 以下我們將舉2個例子用演算法分析來說明各種結構所須的執行時間與佔用記憶體的多寡。 範例9-1A 成績計算 方法一:用一維陣列,其演算法如下 目 的 使學生了解資料結構的技巧。 輸 入 依序輸入學生姓名、座號、國文、英文、數學成績。 輸 出 1.每個人的各科平均。 2.每科全班各科平均。 變 數 1、A(0)、A(1)、A(2)、A(3)、A(4)、A(5) 第1個學生姓名、座號、國文、英文、數學成績、個人的各科平均。 2、B(0)、B(1),B(2)、B(3)、B(4)、B(5) 第2個學生姓名、座號、國文、英文、數學成績、個人的各科平均。 3、C(0)、C(1)、C(2)、C(3)、C(4)、C(5) 第3個學生姓名、座號、國文、英文、數學成績、個人的各科平均。 程式列印 Rem 9_1A_1 Dim db As Database Dim rec As Recordset Private Sub Form_Load() Dim a(6) As Variant Dim b(6) As Variant Dim c(6) As Variant Dim d(6) As Variant Set db = OpenDatabase(c:\vbbook2\test1.mdb) Set rec = db.OpenRecordset(訊一善月考成績) a(0) = rec(0): a(1) = rec(1): a(2) = rec(2): a(3) = rec(4): a(4) = rec(4) rec.MoveNext b(0) = rec(0): b(1) = rec(1): b(2) = rec(2): b(3) = rec(4): b(4) = rec(4) rec.MoveNext c(0) = rec(0): c(1) = rec(1): c(2) = rec(2): c(3) = rec(4): c(4) = rec(4) rec.MoveNext a(5) = Int((a(2) + a(3) + a(4)) / 3) b(5) = Int((b(2) + b(3) + b(4)) / 3) c(5) = Int((c(2) + c(3) + c(4)) / 3) d(1) = 平均 d(2) = Int((a(2) + b(2) + c(2)) / 3) d(3) = Int((a(3) + b(3) + c(3)) / 3) d(4) = Int((a(4) + b(4) + c(4)) / 3) d(5) = Int((a(5) + b(5) + c(5)) / 3) Debug.Print a(0); a(1); a(2); a(3); a(4); a(5) Debug.Print b(0); b(1); b(2); b(3); b(4); b(5) Debug.Print c(0); c(1); c(2); c(3); c(4); c(5) Debug.Print d(1); d(2); d(3); d(4); d(5) End
您可能关注的文档
- 1 第6章数据仓库与数据挖掘的决策支持.PDF
- 1 氢氧化钠溶液各3mL,对比观察实验现象.PPT
- 1 致股东报告书 - TSMC.PDF
- 1 迈克耳孙.PPT
- 1 通则 - 中华民国消防设备师(士)协会.PDF
- 1 通则2 产品.PDF
- 1 练习十1 重铬酸铵含有多少个元素 A 2 B 3 C 4 D 5 2 在周期表 .PDF
- 1 释放静电2 准备工具和配件3 组装前的注意事项.PPT
- 1 说给祖国妈妈的悄悄话 - 老百晓在线.DOC
- 1-1:声波的传播 - tpedutw.PDF
- 中国国家标准 GB/Z 37551.300-2026海洋能 波浪能、潮流能及其他水流能转换装置 第300部分:河流能转换装置发电性能评估.pdf
- GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 中国国家标准 GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 《GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法》.pdf
- 中国国家标准 GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- 《GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义》.pdf
- 中国国家标准 GB/T 4937.37-2025半导体器件 机械和气候试验方法 第37部分:采用加速度计的板级跌落试验方法.pdf
- 《GB/T 4937.10-2025半导体器件 机械和气候试验方法 第10部分:机械冲击 器件和组件》.pdf
- 中国国家标准 GB/T 44937.2-2025集成电路 电磁发射测量 第2部分:辐射发射测量TEM小室和宽带TEM小室法.pdf
有哪些信誉好的足球投注网站
文档评论(0)