1. gzyueqian
      13352868059

      學java培訓哪家好?一家廣大網友都推薦去學習java的培訓機構

      更新時間: 2018-09-25 15:32:31來源: java學習瀏覽量:4580

          經常能夠聽到這樣的聲音,都知道數據結構重要,但是開發中,幾乎用不到。其實我們每天都在用,只是不關注。或者說換成了另外的一種形式,比如STL。
          程序設計
          還記得這個經典公式嗎?
          程序=算法+數據結構
          數據結構(Data Structure):邏輯數據結構在計算機中的存儲表達,支持相應的操作
          算法(algorithhm):對特定問題求解過程的描述方法
          程序(program):算法在計算機程序設計語言中的實現 。
          一.數據結構的基本概念
          **數據結構定義:**數據結構是一種存儲和組織數據的方式,以便于訪問和修改。數據結構包括數據的邏輯結構、數據的存儲結構以及數據的運算,即按照某種邏輯關系組織起來的一批數據,按一定的映射方式把它存放在計算機的存儲器中,并在這些數據上定義了一個運算的集合。
          數據的邏輯結構:反映數據元素之間的關系。有集合、線性結構、樹型結構、圖型結構。
          數據的存儲結構:邏輯結構在計算機中的存儲映象,是邏輯結構在計算機中的實現,它包括數據元素的表示和元素之間關系的表示。有順序存儲結構(數組)、鏈式存儲結構(鏈表)、索引存儲結構、散列存儲結構等。
          數據的運算:對數據施加的操作,通過算法描述。
          二.算法的基本概念
          算法定義
          計算機求解一個問題所需的一系列步驟
          算法的基本特性:
          輸入:一個算法有0個或者多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指算法本身給出了初始條件;
          輸出:一個算法有一個或多個輸出,以反映對輸入數據加工后的結果。沒有輸出的算法是毫無意義的;
          有窮性:算法必須能在執行有限個步驟之后終止;
          確切性:算法的每一步驟必須有確切的定義;
          可行性:算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成。
          算法設計的要求:
          正確性:設計的算法能滿足具體問題的需求,并且任何合法的輸入都會得出正確的輸出;
          可讀性:是指算法被寫好之后,該算法理解的難易程度,一個算法可讀性的好壞十分重要。如果一個算法比較抽象且難以理解,那么這個算法就不利于交流和推廣使用,對于修改、擴展、維護來說都十分不方便,因此,在追求高效的同時,也應是算法盡量簡明易懂。
          健壯性:當輸入數據非法時,算法也會做出相應的判斷,而不會因為輸入的錯誤而造成癱瘓。
          時間效率高(時間復雜度)和需要的存儲空間少(空間復雜度)
          時間復雜度:
          程序大概的執行次數(不是執行時間)。一般情況下,算法中基本操作重復執行的次數是問題規模n的某個函數,用T(n)表示,若有某個輔助函數f(n),使得當n趨近于無窮大時,T(n)/f(n)的極限值為不等于零的常數,則稱f(n)是T(n)的同數量級函數。記作T(n)=O(f(n)),稱O(f(n)) 為算法的漸進時間復雜度,簡稱時間復雜度
          空間復雜度:
          該算法所耗費的存儲空間,它也是問題規模n的函數。其是對一個算法在運行過程中臨時占用存儲空間大小的量度。一個算法在計算機存儲器上所占用的存儲空間,包括存儲算法本身所占用的存儲空間,算法的輸入輸出數據所占用的存儲空間和算法在運行過程中臨時占用的存儲空間這三個方面。
          數據結構與算法思維導圖:

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 三级AV永久在线观看 | 亚洲欧美精品无人区国产一区 | 九九色在线视频网站 | 亚洲日韩欧美综合在线 | 亚洲成色在线综合网站免费 | 日本亚洲欧洲中文字幕 |