摘要:數據結構是數據元素之間的關系是復雜數據的組織方式。數據結構三要素數據結構三要素邏輯結構存儲結構數據操作算法邏輯結構集合線性樹形網狀圖是數據元素的有限集,是上關系有限集存儲結構數據存儲基本要求存儲元素必須反映數據元素本身及元素之間的邏輯關系。
1.數據結構三要素數據結構(Data Structure)是數據元素之間的關系,是復雜數據的組織方式。
數據結構三要素: 邏輯結構 存儲結構 數據操作(算法)
邏輯結構
1.集合 2.線性 3.樹形 4.網狀(圖)
Data_Structure =(D,R);
D是數據元素的有限集,R是D上關系有限集
存儲結構
數據存儲基本要求:存儲元素必須反映數據元素本身及元素之間的邏輯關系。
對大量數據,必須有高效存儲方法。
1.順序存儲 2.鏈式存儲
數據操作(算法)
如最基本操作:增刪查改。
2.抽象數據類型與算法“抽象”的意義在于數據類型的數學抽象特性。
1.1什么是算法:最大公約數
input: unsigned int m,n
output: m,n的最大公因數 a. 求余數 r=mod(n/m) (0<=r1.2算法方略
1.窮舉
2.遞推與遞歸
3.分而治之
4.回溯
5.貪心
6.動態規劃1.3算法性能
正確性、可讀性、健壯性、效率
算法復雜性:時間復雜度(cpu執行時間)、空間復雜度(占用內存)
1.4時間復雜度分析
Hanoi問題
A、B、C三個柱子,A柱上有n個大小不一的盤子,盤子由大到小從下到上放置,要求將A柱上的盤子移到C柱上,要求如下:
一次只能移動一只盤子;
可以借助三根柱子,但任何時候都不允許大盤子在小盤子上面時間復雜度分析:
T(n)=2T(n-1)+1
T(1)=1
=>T(n)=算法設計(第一個塔為初始塔,中間的塔為借用塔,最后一個塔為目標塔):
public void hanoi(int n,char A,char B,char C){ if(n==1) move(A,C); else{ hanoi(n-1,A,C,B);//(n-1)個盤子A=>B move(A,C); hanoi(n-1,B,A,C);//(n-1)個盤子B=>C } }轉載請注明出處
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67554.html
摘要:基本概念在深入解讀之前,先了解下的幾個基本概念,以及這幾個概念背后隱藏的一些東西。如圖是一個內的基本組成,內數據只是一個抽象表示,不代表其內部真實數據結構。即詞典,是根據條件查找的基本索引。 前言 Apache Lucene是一個開源的高性能、可擴展的信息檢索引擎,提供了強大的數據檢索能力。Lucene已經發展了很多年,其功能越來越強大,架構也越來越精細。它目前不僅僅能支持全文索引,也...
摘要:基本概念在深入解讀之前,先了解下的幾個基本概念,以及這幾個概念背后隱藏的一些東西。如圖是一個內的基本組成,內數據只是一個抽象表示,不代表其內部真實數據結構。即詞典,是根據條件查找的基本索引。 前言 Apache Lucene是一個開源的高性能、可擴展的信息檢索引擎,提供了強大的數據檢索能力。Lucene已經發展了很多年,其功能越來越強大,架構也越來越精細。它目前不僅僅能支持全文索引,也...
摘要:拷貝構造函數示例構造無參構造函數總結容器和容器的構造方式幾乎一致,靈活使用即可賦值操作功能描述給容器進行賦值函數原型重載等號操作符將區間中的數據拷貝賦值給本身。清空容器的所有數據刪除區間的數據,返回下一個數據的位置。 ...
閱讀 1867·2021-11-15 11:39
閱讀 1237·2021-10-18 13:29
閱讀 1189·2021-08-31 09:42
閱讀 2746·2019-08-30 11:11
閱讀 2119·2019-08-26 12:12
閱讀 2117·2019-08-26 10:17
閱讀 3396·2019-08-23 18:38
閱讀 3230·2019-08-23 18:38