[圖解數(shù)據(jù)結構之Java實現(xiàn)](0) --- 概要分析和目錄分類

本文行文思路結構

一. 寫此系列文章緣由
二. 相關概念表述
  1. 數(shù)據(jù)結構的定義
  2. 邏輯結構和存儲結構的對比
三. 基本數(shù)據(jù)結構的分類和列舉
四. 總結

一. 寫此系列文章緣由

之所以, 打算用Java語言再把基礎的數(shù)據(jù)結構實現(xiàn)一遍, 原因有以下幾點:

  • 第一: 我們在學校里學的數(shù)據(jù)結構大多數(shù)都是C語言實現(xiàn)的, 作為要學習和從事Java開發(fā)的程序員, 這對Java基礎也是一次再學習和提升;
  • 第二: 在課堂上所學, 大多數(shù)是以概念為主, 導致動手編程的能力嚴重下降, 理解如何實現(xiàn)和如何編碼, 都是同等重要的, 畢竟學習的內容最終還是要學以致用的!
  • 第三: 基本的數(shù)據(jù)結構是后續(xù)學習算法的基石, 比如C++中的STL和Java中常用集合框架, 底層實現(xiàn)都是這些數(shù)據(jù)結構中的知識;
  • 第四: 在未來的求職當中, 筆試和面試都少不了數(shù)據(jù)結構的問題.

哈哈, 廢話不多說了, 總之, 一句話 --- 數(shù)據(jù)結構, 包括算法設計, 這對從事軟件開發(fā)的人員來說, 是非常非常重要的!

二. 相關概念表述

1. 數(shù)據(jù)結構的定義

來自維基百科的定義

計算機科學中,數(shù)據(jù)結構(英語:data structure)是計算機中存儲、組織數(shù)據(jù)的方式。

來自數(shù)據(jù)結構(C語言版, 嚴蔚敏著)此書的定義

數(shù)據(jù)結構(data structure)是相互之間存在一種或多種特定關系的數(shù)據(jù)元素的集合.

簡單而言, 因為計算機能快速處理大量的數(shù)據(jù), 而如何存儲數(shù)據(jù)就是一個問題, 數(shù)據(jù)結構就是用來解決這個問題的.

2. 邏輯結構和存儲結構的對比

在數(shù)據(jù)結構中, 有兩個概念非常重要, 就是邏輯結構和存儲結構. 可能你平時都在用, 但具體的概念不清楚.

邏輯結構: 數(shù)據(jù)元素之間的邏輯結構.
存儲結構: (也稱物理結構)數(shù)據(jù)結構在計算機中的表示.
簡單而言, 比如最常用的棧, 是后進先出的結構, 這就是一個邏輯結構; 它存儲在計算機中, 即可以用數(shù)組實現(xiàn), 也可以用鏈表來實現(xiàn), 所以, 用鏈表實現(xiàn)的棧, 其中, 這個鏈表就是一個存儲結構.

三. 基本數(shù)據(jù)結構的分類和列舉

根據(jù)數(shù)據(jù)元素之間關系的不同特性, 通常分為三種基本結構:

  • 線性結構 (一對一)
  • 樹形結構 (一對多)
  • 圖狀結構 (多對多)

常見的數(shù)據(jù)結構列舉:

  • 數(shù)組 (Array)
  • 棧 (Stack)
  • 隊列(Queue)
  • 鏈表(Linked List)
  • 樹(Tree)
  • 圖(Graph)
  • 堆(Heap)
  • 散列表(Hash)

四. 總結

因為此文只是大概介紹我接下來要寫的內容, 所以沒有編碼的部分!

最后, 非常歡迎各位小伙伴評論和指點我的文章, 如果您覺得寫得還不太差勁或者對您有一丁點的幫助, 麻煩動個小手點個贊, 好人萌萌噠, 也很感謝您耐心認真地看完!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容