哪些济南网站建设公司擅长进行网站外链建设?
摘要:济南比较好的网站建设公司,网站外链建设工作总结,万江做网站的公司,美萍物业管理系统数据结构 1.1 数据结构概述 数据结构是计算机存储、组织数据的方式;通常情况下,精心选择的数据结
济南比较好的网站建设公司,网站外链建设工作总结,万江做网站的公司,美萍物业管理系统数据结构 1.1 数据结构概述 数据结构是计算机存储、组织数据的方式#xff1b;通常情况下#xff0c;精心选择的数据结构可以带来更高的运行或者存储效率。数据结构的优良将直接影响着我们程序的性能#xff1b;常用的数据结构有#xff1a;数组#xff08;Array#xff…数据结构 1.1 数据结构概述 数据结构是计算机存储、组织数据的方式通常情况下精心选择的数据结构可以带来更高的运行或者存储效率。数据结构的优良将直接影响着我们程序的性能常用的数据结构有数组Array、栈Stack、队列Queue、链表Linked List、树Tree、图Graph、堆Heap、散列表Hash等 1.2 数据结构的分类 1.2.1 排列方式 1集合 集合数据结构中的元素之间除了“同属一个集合” 的相互关系外别无其他关系 2线性结构 线性结构数据结构中的元素存在一对一的相互关系 3树形结构 树形结构数据结构中的元素存在一对多的相互关系 4图形结构 图形结构数据结构中的元素存在多对多的相互关系 1.2.2 逻辑结构 数据结构按逻辑上划分为线性结构与非线性结构
线性结构有且仅有一个开始结点和一个终端结点并且所有结点都最多只有一个直接前驱和一个直接后继。 典型的线性表有链表、栈和队列。它们共同的特点就是数据之间的线性关系除了头结点和尾结点之外每个结点都有唯一的前驱和唯一的后继也就是所谓的一对一的关系。
非线性结构对应于线性结构非线性结构也就是每个结点可以有不止一个直接前驱和直接后继。常见的非线性结构包括树、图等。 1.3 数据结构的实现 1.2.1 数组 数组Array数组是有序元素的序列在内存中的分配是连续的数组会为存储的元素都分配一个下标索引此下标是一个自增连续的访问数组中的元素通过下标进行访问数组下标从0开始访问
数组的优点是查询速度快 数组的缺点是删除增加、删除慢由于数组为每个元素都分配了索引且索引是自增连续的因此一但删除或者新增了某个元素时需要调整后面的所有元素的索引 新增一个元素40到3索引下标位置 删除2索引元素 总结数组查询快增删慢适用于频繁查询增删较少的情况
1.2.2 链表 链表Linked List链表是由一系列节点Node也可称元素组成数据元素的逻辑顺序是通过链表的指针地址实现通常情况下每个节点包含两个部分一个用于存储元素的内存地址名叫数据域另一个则指向下一个相邻节点地址的指针名叫指针域根据链表的指向不同可分为单向链表、双向链表、循环链表等我们本章介绍的是单向链表也是所有链表中最常见、最简单的链表 链表的节点Node 完整的链表 链表的优点新增节点、删除节点快 在链表中新增一个元素 在单向链表中新增一个元素最多只会影响上一个节点比在数组中的新增效率要高的多
在链表中删除一个元素 链表的缺点 1查询速度慢查询从头部开始一直查询到尾部如果元素刚好是在最尾部那么查询效率势必非常低 2链表像对于数组多了一个指针域的开销内存相对占用会比较大 总结数据量较小需要频繁增加删除操作的场景查询操作相对较少
1.2.3 栈 栈Stack是一种特殊的线性表仅能在线性表的一端操作栈顶允许操作栈底不允许操作。 栈的特点是先进后出从栈顶放入元素的操作叫入栈压栈取出元素叫出栈弹栈。 入栈操作 出栈操作 栈的特点先进后出Java中的栈内存就是一个栈的数据结构先调用的方法要等到后调用的方法结束才会弹栈出栈
1.2.4 队列 队列Queue队列与栈一样也是一种线性表其限制是仅允许在表的一端进行插入而在表的另一端进行删除。队列的特点是先进先出从一端放入元素的操作称为入队取出元素为出队 队列的特点先进先出 1.2.5 树 树是一种数据结构它是由nn1个有限节点组成一个具有层次关系的集合。把它叫做 “树” 是因为它看起来像一棵倒挂的树也就是说它是根朝上而叶朝下的。它具有以下的特点
1每个节点有0个或多个子节点 2没有父节点的节点称为根节点 3每一个非根节点有且只有一个父节点 4除了根节点外每个子节点可以分为多个不相交的子树 5右子树永远比左子树大读取顺序从左到右 树的分类有非常多种平衡二叉树AVL、红黑树RBLR-B Tree、B树B-Tree、B树BTree等但最早都是由二叉树演变过去的
二叉树的特点每个结点最多有两颗子树 1.2.6 堆 堆Heap堆可以看做是一颗用数组实现的二叉树所以它没有使用父指针或者子指针。堆根据“堆属性”来排序“堆属性”决定了树中节点的位置。 堆的特性如果一个结点的位置为k则它的父结点的位置为[k/2]而它的两个子结点的位置则分别为2k和2k1。
