数据结构

原因:2018年4月7日 星期六 说明:毕业近2年,系统的整理一下相关数据结构之所学,有基础,有拓展。

绪论

  • 什么是数据结构:程序设计 = 数据结构 + 算法。
  • 传统上,我们把数据结构分为逻辑结构和物理结构。
  • 四大逻辑结构:集合、线性、图形、树形。
  • 数据的存储结构:顺序存储结构、链式存储结构。

数据结构

线性表

  • 由零个或多个数据元素组成的有限序列。

顺序存储结构

优点

  • 无须为表示表中元素之间的逻辑关系而增加额外的存储空间。
  • 可以快速地存取表中任意位置的元素。

缺点

  • 插入和删除操作需要移动大量元素。
  • 当线性表长度变化较大时,难以确定存储空间的容量。
  • 容易造成存储空间的“碎片”。

链式存储结构

  • 由数据域和指针域组成存储映像,成为结点。
  • n个结点链接成一个链表,即为线性表。
  • 由于每个结点只包含一个指针域,故成为单链表。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏TheOneGIS空间站

GDAL入门-使用GDAL进行遥感影像NDVI的计算(C++版本)

不知道该怎么详细地写,直接上代码算了! (开发环境的搭建参考我的博文:GDAL开发环境搭建(VS2010 C++版))

43650
来自专栏TheOneGIS空间站

Shell遍历文件

注意:$basedir/*不要写成$basedir"/*",虽然作为字符串两个是相等的。

43540
来自专栏TheOneGIS空间站

k-means聚类

K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。 算法过程如下: 1. 从N个样...

15730
来自专栏TheOneGIS空间站

Python中如何动态生成多维数组

多维数组其实就是多个一维数组的嵌套,Python中有原生的list,类似一个动态数组。 所以动态生成多维数组的思想就是在list中动态嵌套添加list。

26350
来自专栏TheOneGIS空间站

C++10中的移动语义

第一次默认拷贝构造函数的调用是在demo对象的初始化过程中; 两次拷贝构造函数实在clone函数的调用过程中: clone函数中利用this对象初...

9830
来自专栏TheOneGIS空间站

Geohash第三方库示例

关于什么是Geohash可以参考这篇文章Java实现空间索引编码(GeoHash),个人觉得写得不错。

27920
来自专栏TheOneGIS空间站

C++ std::vector元素的内存分配问题

来看一个问题: 在使用C++ STL的vector时,下面三种写法有什么不同呢?其内存分配是怎么样的呢?

16030
来自专栏IT云清

python教程2--数据类型、变量、 常量、 除法

Python可以处理任意大小的整数,包括负整数。Java中的整数是有范围限制的,比如int的范围限制在-2147483648-2147483647之间。

23130
来自专栏TheOneGIS空间站

C++中字符串的分割

下面开始正题,C++中字符串的分割。 1. 使用strtok函数进行字符串的分割 2. 使用stringstream类配合getline函数进行字符串的...

1.8K30
来自专栏TheOneGIS空间站

Leetcode: Single Number III

Given an array of numbers nums, in which exactly two elements appear only once...

11640

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励