① 什麼是數據結構和演算法分析在編程里起到什麼作用
編程是為了解決問題,這些問題並表都是數值計算,其所處理的數據並不都是數值,但計算機所能處理的最終是0和1的二進制串,所以需要把問題中的數據用計算機能處理的方式來表示,這就需要數據結構。
簡單的說,數據結構是數據在計算機中的表示方式,有邏輯結構和物理結構之分,如邏輯上同樣的隊列,物理上可以是順序存儲,也可以是鏈式存儲。
通俗的講,演算法就是解決問題的方法,比如同樣的排序,可以用冒泡排序、插入排序等,不同的演算法可以達到相同的目標,但是效率可能有所不同。
② 什麼是數據結構
定義:
數據結構(data structure)是帶有結構特性的數據元素的集合,它研究的是數據的邏輯結構和數據的物理結構以及它們之間的相互關系,並對這種結構定義相適應的運算,設計出相應的演算法,並確保經過這些運算以後所得到的新結構仍保持原來的結構類型。簡而言之,數據結構是相互之間存在一種或多種特定關系的數據元素的集合,即帶「結構」的數據元素的集合。「結構」就是指數據元素之間存在的關系,分為邏輯結構和存儲結構。
數據的邏輯結構和物理結構是數據結構的兩個密切相關的方面,同一邏輯結構可以對應不同的存儲結構。演算法的設計取決於數據的邏輯結構,而演算法的實現依賴於指定的存儲結構。
數據結構的研究內容是構造復雜軟體系統的基礎,它的核心技術是分解與抽象。通過分解可以劃分出數據的3個層次;再通過抽象,舍棄數據元素的具體內容,就得到邏輯結構。類似地,通過分解將處理要求劃分成各種功能,再通過抽象舍棄實現細節,就得到運算的定義。上述兩個方面的結合可以將問題變換為數據結構。這是一個從具體(即具體問題)到抽象(即數據結構)的過程。然後,通過增加對實現細節的考慮進一步得到存儲結構和實現運算,從而完成設計任務。這是一個從抽象(即數據結構)到具體(即具體實現)的過程。
研究對象:
數據的邏輯結構
指反映數據元素之間的邏輯關系的數據結構,其中的邏輯關系是指數據元素之間的前後間關系,而與他們在計算機中的存儲位置無關。邏輯結構包括:
1.集合:數據結構中的元素之間除了「同屬一個集合」 的相互關系外,別無其他關系;
2.線性結構:數據結構中的元素存在一對一的相互關系;
3.樹形結構:數據結構中的元素存在一對多的相互關系;
4.圖形結構:數據結構中的元素存在多對多的相互關系。
數據的物理結構
指數據的邏輯結構在計算機存儲空間的存放形式。
數據的物理結構是數據結構在計算機中的表示(又稱映像),它包括數據元素的機內表示和關系的機內表示。由於具體實現的方法有順序、鏈接、索引、散列等多種,所以,一種數據結構可表示成一種或多種存儲結構。
數據存儲結構
數據的邏輯結構在計算機存儲空間中的存放形式稱為數據的物理結構(也稱為存儲結構)。一般來說,一種數據結構的邏輯結構根據需要可以表示成多種存儲結構,常用的存儲結構有順序存儲、鏈式存儲、索引存儲和哈希存儲等。
數據的順序存儲結構的特點是:藉助元素在存儲器中的相對位置來表示數據元素之間的邏輯關系;非順序存儲的特點是:藉助指示元素存儲地址的指針表示數據元素之間的邏輯關系。
③ 數據結構是什麼概念
(一)什麼是數據結構
數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索演算法和索引技術有關。
(二)為什麼要了解數據結構
程序的性能瓶頸往往都跟演算法和數據結構有關系,簡單的說,可以讓你程序跑的更快
(三)數據結構的邏輯結構
邏輯結構是指數據對象中數據元素之間的相互關系,分為以下四種:
(1)集合結構
集合結構的裡面的元素關系是孤立的
(四)編程語言裡面常見的數據結構
數組(Array)
堆棧(Stack)
隊列(Queue)
鏈表(Linked List)
樹(Tree)
圖(Graph)
堆(Heap)
散列表(Hash)
總結:
本文介紹了數據結構相關的一些概念及知識,只有理解了數據結構,才能夠幫助我們更好的去設計演算法和程序。
摘抄
④ 數據結構是什麼啊
數據結構是指相互之間存在著一種或多種關系的數據元素的集合和該集合中數據元素之間的關系組成。記為:數據結構Data_Structure=(D,R)其中D是數據元素的集合,R是該集合中所有元素之間的關系的有限集合。
數據結構是在整個計算機科學與技術領域上廣泛被使用的術語。它用來反映一個數據的內部構成,即一個數據由那些成分數據構成,以什麼方式構成,呈什麼結構。
數據結構有邏輯上的數據結構和物理上的數據結構之分。邏輯上的數據結構反映成分數據之間的邏輯關系,而物理上的數據結構反映成分數據在計算機內部的存儲安排。數據結構是數據存在的形式。
數據結構是信息的一種組織方式,其目的是為了提高演算法的效率,它通常與一組演算法的集合相對應,通過這組演算法集合可以對數據結構中的數據進行某種操作。數據結構主要研究數據的各種邏輯結構和存儲結構,以及對數據的各種操作。
因此,主要有三個方面的內容:數據的邏輯結構;數據的物理存儲結構;對數據的操作(或演算法)。通常,演算法的設計取決於數據的邏輯結構,演算法的實現取決於數據的物理存儲結構。
(4)什麼是數據結構的分析擴展閱讀:
一、數據的邏輯結構:指反映數據元素之間的邏輯關系的數據結構,其中的邏輯關系是指數據元素之間的前後件關系,而與他們在計算機中的存儲位置無關。
邏輯結構包括:
1、集合:數據結構中的元素之間除了「同屬一個集合」 的相互關系外,別無其他關系;
2、線性結構:數據結構中的元素存在一對一的相互關系;
3、樹形結構:數據結構中的元素存在一對多的相互關系;
4、圖形結構:數據結構中的元素存在多對多的相互關系。
二、數據的物理結構:指數據的邏輯結構在計算機存儲空間的存放形式。
數據的物理結構是數據結構在計算機中的表示(又稱映像),它包括數據元素的機內表示和關系的機內表示。
由於具體實現的方法有順序、鏈接、索引、散列等多種,所以,一種數據結構可表示成一種或多種存儲結構。
數據元素的機內表示(映像方法): 用二進制位(bit)的位串表示數據元素。通常稱這種位串為節點(node)。
當數據元素有若干個數據項組成時,位串中與個數據項對應的子位串稱為數據域(data field)。因此,節點是數據元素的機內表示(或機內映像)。
關系的機內表示(映像方法):數據元素之間的關系的機內表示可以分為順序映像和非順序映像,常用兩種存儲結構:順序存儲結構和鏈式存儲結構。
順序映像藉助元素在存儲器中的相對位置來表示數據元素之間的邏輯關系。非順序映像藉助指示元素存儲位置的指針(pointer)來表示數據元素之間的邏輯關系。
三、結構演算法
演算法的設計取決於數據(邏輯)結構,而演算法的實現依賴於採用的存儲結構。數據的存儲結構實質上是它的邏輯結構在計算機存儲器中的實現,為了全面的反映一個數據的邏輯結構,它在存儲器中的映象包括兩方面內容,即數據元素之間的信息和數據元素之間的關系。
不同數據結構有其相應的若干運算。數據的運算是在數據的邏輯結構上定義的操作演算法,如檢索、插入、刪除、更新和排序等。
⑤ 數據結構是講什麼的啊 什麼是數據結構
1、數據結構主要內容是介紹編程中常用的方法和演算法的優化,使程序的運行效率更高。
2、演算法的設計取決於數據(邏輯)結構,而演算法的實現依賴於採用的存儲結構。
3、數據的存儲結構實質上是它的邏輯結構在計算機存儲器中的實現,為了全面的反映一個數據的邏輯結構,它在存儲器中的映象包括兩方面內容,即數據元素之間的信息和數據元素之間的關系。不同數據結構有其相應的若干運算。數據的運算是在數據的邏輯結構上定義的操作演算法,如檢索、插入、刪除、更新和排序等。
⑥ 2什麼是數據結構 有關數據結構的討論涉及哪三個方面
數據結構是指數據以及相互之間的關系。記為:數據結構
=
{
D, R
}
。其中,
D
是某一
數據對象,
R
是該對象中所有數據成員之間的關系的有限集合。
有關數據結構的討論一般涉及以下三方面的內容:
①
數據成員以及它們相互之間的邏輯關系,
也稱為數據的邏輯結構,
簡稱為數據結構;
②
數據成員及其關系在計算機存儲器內的存儲表示,也稱為數據的物理結構,簡稱為
存儲結構;
③
施加於該數據結構上的操作。
數據的邏輯結構是從邏輯關繫上描述數據,
它與數據的存儲不是一碼事,
是與計算機存
儲無關的。
因此,
數據的邏輯結構可以看作是從具體問題中抽象出來的數據模型,
是數據的
應用視圖。數據的存儲結構是邏輯數據結構在計算機存儲器中的實現(亦稱為映像)
,它是
依賴於計算機的,
是數據的物理視圖。
數據的操作是定義於數據邏輯結構上的一組運算,
每
種數據結構都有一個運算的集合。例如搜索、插入、刪除、更新、排序等。