tft每日頭條

 > 科技

 > 數據結構和算法裡面的知識

數據結構和算法裡面的知識

科技 更新时间:2025-04-24 19:24:24
1.基本概念和術語數據
  • 數據:是描述客觀事物的符号,計算機中可以操作的對象,是能被計算機識别,并輸入給計算機處理的符号集合
  • 數據元素:是組成數據的、有一定意義的基本單位,在計算機中通常作為整體處理
  • 數據項:一個數據元素可以由若幹個數據項組成 數據項是不可分割的最小單位
  • 數據對象:是性質相同的數據元素的集合,是數據的子集
  • 數據結構:是相互之間存在一種或多種特定關系的數據元素的集合
邏輯結構

是指數據對象中數據元素之間的相互關系

  1. 集合機構:集合機構中的數據元素除了同屬于一個集合外,它們之間沒有其他關系
  2. 線性結構:線性結構中的數據元素之間是一對一的關系
  3. 樹形結構:樹形結構中的數據元素之間存在一種一對多的層次關系
  4. 圖形結構:圖形結構的數據元素是多對多的關系
物理結構

存儲結構,是指數據的邏輯機構在計算機中的存儲形式

  1. 順序存儲結構:把數據元素存放在地址連續的存儲單元裡。其數據間的邏輯關系和物理關系是一緻的
  2. 鍊式存儲結構:把數據元素存放在任意的存儲單元裡,這組存儲單元可以是連續的,也可以是不連續的

目的是将數據及邏輯關系存儲到計算機的内存中

抽象數據類型

是指一個數學模型及定義在該模型上的一組操作

體現了程序設計中問題分解、抽象和信息隐藏的特性

  • 數據類型:是指一組性質相同的值的集合及定義在此集合上的一些操作的總稱
2.算法

算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,并且每條指令表示一個或多個操作

算法的特性

輸入、輸出、有窮性、 确定性 、可行性

要求
  • 正确性:算法至少應該具有輸入、輸出和加工處理無歧義性、能正确反映問題的需求、能夠得到問題的正确答案。
  • 可讀性:便于閱讀、理解和交流
  • 健壯性:當輸入數據不合法時,算法也能做出相關處理,而不是産生異常或莫名其妙的結果
  • 時間效率高和存儲量低
算法效率的度量方法
  1. 事後統計方法:通過設計好的測試程序和數據,利用計算機計時器對不同算法編制的程序的運行時間進行比較,從而确定算法效率的高低
  2. 事前分析估算方法:在計算機程序編制前,依據統計方法對算法進行估算。
算法時間複雜度

定義:表示随問題規模n的增大,算法執行時間的增長率和f(n)的增長率相同,稱作算法的漸近時間複雜度

用大寫O( )來體現算法時間複雜度的記法,我們稱之為大O記法。

推到大O階的方法:通過觀察和計算,得出運算中的次數,是否有嵌套和循環,考察的是數列的能力

數據結構和算法裡面的知識(算法與數據結構)1

O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n3)<O(2n )<O(n!)<O(nn)

算法空間複雜度

通過計算算法所需的存儲空間實現,算法空間複雜度的計算公式記作:S(n)=O(f(n)),其中,n為問題的規模,f(n)為語句關于n所占存儲空間的函數

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved