發現數據結構與演算法之美的第n次重新學習 ——— 初遇數據結構與演算法(了解)

  你的數據結構怎麼學的?提起數據結構,電腦與軟體,it行業內無人不知,無人不曉。但是,當你真正的去通過數據結構與演算法內容去實踐內容時,真的能聯繫起來嗎?那肯定的

不管是考研還是做項目,數據結構都是必學的,基本所有人都學過數據結構,學過演算法。說起數據結構,那不就是,程式碼的結構安排嗎?說起演算法,那不就是實現目標的最簡單的程式碼實現嗎?好像所有人都學過二分查詢,遞歸,快排,說起來,好像懂得挺多的,可是實際用的時候,程式碼不會敲,這個咳咳,可能不是很重要,但是提起來你了解,但是,一旦不說,你就根本想不起來用,那你的數據結構與演算法就是這麼學習的?說起來你知道一個for循壞的時間複雜度為O(n),兩個就是O(n^2),一旦給你稍微複雜一點的,你會算時間複雜度嘛?嗯。。。我會。。你會你試試!然後帶來的就是這個。。。。。。是吧。。。。我也是n遍來學數據結構,可能後面不會,前面又忘,那今天就在來看看,了解一下數據結構與演算法的最基本的內容!

 

 

 

  

 

本次內容:

    第一節:了解數據結構(基本概念)

 

 

一:數據結構(基本概念)

 

    1.1  數據結構

    你說說,你說說?數據結構是什麼?哼,不就是數據結構,數據結構不就是 數據結構,說的好像也沒錯。好像你問起來,好多人都不一定能回答的這麼順暢,可能等待的就是鴉雀無聲,那麼,在這就說一下數據結構是啥,用點很正的語言。數據結構:相互之間存在一種或多種特定關係的數據元素的集合。這下知道了什麼數據結構,小弟在這打賭,如果就看這一下,我賭明天早上你必忘!

 

    1.2  數據結構的起源

    怎麼說呢,我感覺當我學這門課到一定程度時,我才會有興趣了解它的起源,現在,我都不會這裡弟弟就不寫出來了,有興趣的哥哥姐姐自己查唄。

 

    1.3   基本概念等

    這裡呢,再說一些基本的概念什麼的,肯定不是我自己寫的,肯定根據理解寫出來的。

      1.3.1 數據

      數據是什麼?數據就是表述客觀事物的符號,是電腦中可以操作的對象,是能被電腦識別,並輸入給電腦處理的符號集合總結來說就是兩點把,一個是代表著實體事務,一個就是可以被電腦識別處理。

      1.3.2 數據元素

       數據元素就是組成數據的,有一定的意義的基本單位,在電腦中通常作為整體處理。也被稱為記錄。咋說呢,可能這種話聽不明白,換個簡單的,人類的數據元素,人。牲口呢,肯定就是雞鴨魚等了。

       1.3.3 數據項

      一個數據元素可以由多個數據項來組成,例如:人就是可由眼睛鼻子嘴等等組成;數據項是不可分割的最小單位。但是我們開始分析數據結構的時候,都是通過進行分析其數據元素,著眼於個體,而不是眼鼻嘴等器官

      1.3.4 數據對象

      數據對象就是:數據元素的集合,當然需要性質相同,是數據的子集。在平常我們都將數據對象簡稱為數據,不要問我為什麼,問就是我也不知道!

      1.3.5 數據結構

      終於到了最重要的一個了,數據結構,數據就是指標誌著事務的符號,結構就是各個部分的相互組成,搭配,排列方式等,每個人與每個人都有聯繫,都存在著特定的關係,而這種非獨立的關係,就被稱為結構。因此,數據結構就是:相互之間存在一種或者多種特定關係的數據元素的集合

 

        我畫的圖(自己的總結把):

       

 

     1.4 邏輯結構與物理結構

      1.4.1 邏輯結構

        邏輯結構:是指數據元素之間的關係;可以分為以下的四種結構;

        1.集合結構:集合結構種的數據元素除了同屬於一個集合以外,其他沒什麼關係,各個元素之間平等。

        2.線性結構:線性結構中的元素為一對一

        3.樹形結構:存在一對多的關係

        4.圖形結構:存在多對多的關係

      

 

 

 

 

      

 

      1.4.2 物理結構:指的是在電腦存儲的形式。(數據的存儲方式有:順序存儲與鏈式存儲)

        1.順序存儲

          順序存儲:就是把數據元素放在地址連續的存儲單元種,其邏輯結構與物理順序一樣,其實就是排隊存,一個接一個。

        2.鏈式存儲

          鏈式存儲:把數據放在任意的單元格記憶體儲,單元格可以連續,也可以不連續。

        

        鏈式存儲與順序存儲各有各自的優點,通過後面的學習,就可以清楚認知,後面我會寫更細的我自己理解,這裡先說一個簡單的定義。相比大部分都已經學習過了。

  

      1.5 抽象數據類型

        數據類型:是指一組性值相同的值的集合及定義在此集合上的一些操作的總稱。

        抽象:以實物的特徵,抽取具有普遍性的本質,抽出問題特徵,而並非一個具體的細節。

        抽象數據類型:是指一個數字模型及定義在該模型的一系列操作

        簡單而言就是虛擬操作,在非真實的電腦上,進行一系列的類似於真實的操作(本人理解)。

 

      

      

        總之內容也不多,也不算太難,第一章到此結束,你看,你知道多少?我估計大部分新手,確實學了數據結構,但是並不是能永久記憶,這個內容就是為了更好的利於我們學習知識,總結知識,內容有來自《大話數據結構》並非純粹我自己的語言,但是也有我自己的理解,我們一同學習!!加油!