資料結構與演算法學習筆記 (1) 基本概念

2021-08-21 08:00:20 字數 1694 閱讀 1217

資料結構 + 演算法 = 程式

資料結構是計算機儲存、組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。

演算法(algorithm) 是解決特定問題的步驟的描述,

是解決問題的思想方法。

程式是計算機語言的具體實現。

說明

資料:表

資料元素:一行資料

資料項:表中乙個元素

資料型別:表的屬性

資料結構是乙個二元組(d,r),表示資料元素集合 和 資料元素之間的關係

r是資料關係,前驅和後繼的關係

邏輯結構:  集合 線性 樹形 圖形

儲存結構:  順序、鏈式、索引、雜湊

資料運算:  增刪改查 相關運算

集合:資料元素無關係

線性:一對一的關係,有乙個前驅和後繼(除了第乙個和最後乙個資料元素)

樹形:一對多,元素可以有乙個前驅,多個後繼(父節點 - 子節點)

圖形關係:多對多,允許有多個前驅,多個後繼。

ps:樹是有向且無環的圖

1.順序儲存結構

特點:資料位址空間的連續性

好處:修改、查詢很方便

缺點:固定分配儲存空間不方便;刪除、插入操作很複雜;

2.鏈式儲存

特點:儲存空間塊通過指標相連成乙個完整的儲存空間(空間不連續)

優點:空間可以動態分配;方便插入、刪除的操作

缺點:查詢資料比較麻煩

3.索引儲存

索引:類似**本,通過**本查詢那個人

4.雜湊儲存

又hash儲存

增刪改查+排序等

演算法是解決特定問題的步驟的描述。

演算法是解決問題的思想方法

程式是計算機語言的具體實現

演算法設計 取決於選定的邏輯結構;演算法實現 : 依賴於採用的儲存結構。

瑞士科學家沃思(n.wirth) 的著名公式:

資料結構 + 演算法 = 程式

(1)有窮性

(2)確定性

(3)可行性

(4)輸入

(5)輸出

解決乙個問題可以有多種不同的演算法, 在演算法正確的前提下, 評價演算法好壞的方法 :

• 正確性, 可讀性, 健壯性, 時間效率高和儲存量低

• 消耗時間的多少 :

• 消耗儲存空間的多少 :

• 容易理解、 容易程式設計和除錯、 容易維護

資料結構與演算法學習筆記(1) 陣列

陣列myarray package cn.mydata public class myarray public myarray int maxsize 新增資料 public void insert int value 顯示資料 public void display system.out.prin...

資料結構與演算法學習筆記

演算法基礎篇 第一章 演算法概述 首先了解一下基本的概念 1.1 什麼是演算法呢?從字面意義上理解,演算法就是用於計算的方法,用這種方法達到預期的結果。通俗的講,演算法可以理解為乙個完整的解題步驟,由一些基本的運算和規定的運算順序組成。通過這樣的解題步驟可以解決特定的問題。演算法可以抽象出5個特徵 ...

java資料結構與演算法學習筆記(1) 概念

今天覆習了資料結構,才發現很多概念都不懂,或是沒有分清楚。晚上跟mzd討論的時候,發現我們都對資料結構的某些地方都存在著誤解。因此深感弄清概念的重要,至少弄清概念可以應付二級 資料結構 資料結構是計算機儲存 組織資料的方式。資料元素相互之間的關係 稱為結構。有四類基本結構 集合 線性結構 樹形結構 ...