关闭

[图解数据结构之Java实现](0) --- 概要分析和目录分类

标签: Java数据结构Java基础逻辑结构存储结构
611人阅读 评论(0) 收藏 举报
分类:

一. 写此系列文章缘由

之所以, 打算用Java语言再把基础的数据结构实现一遍, 原因有以下几点:

  • 第一: 我们在学校里学的数据结构大多数都是C语言实现的, 作为要学习和从事Java开发的程序员, 这对Java基础也是一次再学习和提升;
  • 第二: 在课堂上所学, 大多数是以概念为主, 导致动手编程的能力严重下降, 理解如何实现和如何编码, 都是同等重要的, 毕竟学习的内容最终还是要学以致用的!
  • 第三: 基本的数据结构是后续学习算法的基石, 比如C++中的STL和Java中常用集合框架, 底层实现都是这些数据结构中的知识;
  • 第四: 在未来的求职当中, 笔试和面试都少不了数据结构的问题.

哈哈, 废话不多说了, 总之, 一句话 — 数据结构, 包括算法设计, 这对从事软件开发的人员来说, 是非常非常重要的!

二. 相关概念表述

1. 数据结构的定义

来自维基百科的定义

计算机科学中,数据结构(英语:data structure)是计算机中存储、组织数据的方式。

来自数据结构(C语言版, 严蔚敏著)此书的定义

数据结构(data structure)是相互之间存在一种或多种特定关系的数据元素的集合.

简单而言, 因为计算机能快速处理大量的数据, 而如何存储数据就是一个问题, 数据结构就是用来解决这个问题的.

2. 逻辑结构和存储结构的对比

在数据结构中, 有两个概念非常重要, 就是逻辑结构和存储结构. 可能你平时都在用, 但具体的概念不清楚.

逻辑结构: 数据元素之间的逻辑结构.
存储结构: (也称物理结构)数据结构在计算机中的表示.
简单而言, 比如最常用的栈, 是后进先出的结构, 这就是一个逻辑结构; 它存储在计算机中, 即可以用数组实现, 也可以用链表来实现, 所以, 用链表实现的栈, 其中, 这个链表就是一个存储结构.

三. 基本数据结构的分类和列举

根据数据元素之间关系的不同特性, 通常分为三种基本结构:

  • 线性结构 (一对一)
  • 树形结构 (一对多)
  • 图状结构 (多对多)

常见的数据结构列举:

  • 数组 (Array)
  • 栈 (Stack)
  • 队列(Queue)
  • 链表(Linked List)
  • 树(Tree)
  • 图(Graph)
  • 堆(Heap)
  • 散列表(Hash)

四. 总结

因为此文只是大概介绍我接下来要写的内容, 所以没有编码的部分! 个人博客主页

最后, 非常欢迎各位小伙伴评论和指点我的文章, 如果您觉得写得还不太差劲或者对您有一丁点的帮助, 麻烦动个小手点个赞, 好人萌萌哒, 也很感谢您耐心认真地看完!

本文写于 2017.05.10 13:00

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13325次
    • 积分:675
    • 等级:
    • 排名:千里之外
    • 原创:48篇
    • 转载:9篇
    • 译文:0篇
    • 评论:10条
    个人说明
    个人很喜欢的一句话, (摘自网络):
    时光荏苒,祝愿不要忘记曾经的初心

    本人现在是一名大二软件工程专业的学生, 每月会坚持更新, 本博客会总结, 整理, 分享个人学习的相关技术知识, 用来记录自己不断进步的历程, 当然内容会以Java为主线.

    虽然是技术博客, 但毕竟是人, 也有自己的情感, 所以, 有时也会分享一些有用的学习资源和一些学习经验和方法, 同时也会写一些其它方面上自己的感受和想法!

    或许我的博客不是写得非常好, 但每一篇文章绝对会用心写! 如果, 你发现有不足或者错误之处, 非常欢迎指出, 当然也欢迎各位小伙伴们来交流技术和学习感受.

    每天进步一点点, 共勉!
    博客专栏
    最新评论