上学的时候不知道数据结构是什么,也不知道它干什么的用的,所以浑浑噩噩的学完了。现在转型做c++开发才发现这东西很重要,虽然有STL和BOOSt,但是有什么比自己实现一个更方便的呢。
-
数据结构是什么
这个没有什么什么标准答案,最通常的说法就是:数据元素和数据元素之间的关系。我们从实际问题出发,抽象出数学模型,这个抽象的过程中提取出数据元素和他们之间的关系,数据元素的关系可以称为数据的逻辑结构,怎么在计算机汇实现这种逻辑结构就需要存储结构,数据的存储结构是数据结构的实现形式,它包含数据的表示和关系的表示。确定了这些,算法也就确定了。算法的设计取决于逻辑结构,算法的实现取决与存储结构。
-
逻辑结构
目前的逻辑结构主要有,线性结构,树形结构,网状结构
-
存储结构
存储结构有两种,一种是顺序存储结构,一种是链式存储结构。 可以同时使用这两种存储结构。
确定了数据结构后,算法就容易得到了,比如排队场景。有些时候事情也会反过来,我们根据特定算法来选择数据结构与之适应,比如数据库查询
时间: 2024-10-25 03:50:04