《数据结构:第一天》

数据结构(data structure)是计算机中存储、组织数据的方式。
数据结构是具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应的操作的数据元素集合。它包含三方面的内容逻辑关系,存储关系以及操作。
不同种类的数据适用于不同种类的应用,而部分甚至专门用于特定的作业任务。例如,计算机网络依赖于路由表的运作,B树高度适用于数据库的封装。

常见的数据结构
1.栈(stack)栈是一种特殊的线性表,他只能在一个表的一个固定端进行数据结点的插入和删除操作。
2.队列(Queue)队列和栈类似,也是一种特殊的线性表。和栈不同的是,队列只允许在表的一端进行插入操作而在另一端进行删除操作
3.数组(Array):数组是一种聚合数据类型,它是将具有相同类型的若干变量有序的组织在一起的集合。
4.链表(Linked List):链表是一种数据元素按照链式存储结构进行存储的数据结构,这种结构具有在物理上存在非连续性的特点。
5.树(tree)树是典型的非线性结构,它是包括,2个结点的有穷集合K。
6.图(Graph)图是另一种非线性数据结构。在图结构中,数据结点一般称为顶点,而边是顶点的有序偶对。
7.堆(Heap)堆是一种特殊的树形数据结构,一般讨论的堆都是二叉堆。
8.散列表(Hash table):散列表源自于散列函数(Hash function),其思想是如果结构中存在关键字和T相等的记录,那么必定在F(T)的存储位置可以找到该记录,这样就可以不用直接进行比较操作而直接``取得所查记录。
(解决问题方法的效率,跟数据的组织方式有关)
9.、内存四区
1.栈区:对于一个程序而言,栈区是一块连续的内存区域。该区域由编译器自动分配与释放,一般用来存放函数的参数、局部变量等。
2.堆区:对于一个程序来说,堆可以是不连续的内存区域,此区域可以由开发者自行申请,自由灵活,但缺点是还需要由开发者自行释放,若程序结束后该段空间还未被释放则由系统自主收回

3.数据区:根据其功能,数据区又可分为静态全局和常量区两个域。

●全局区:用于存储全局变量和静态变量的区域,初始化为非0的全局变量和静态变量在一块区域,该区域被称为data段;未初始化或者初始化为0的全局变量和静态变量在相邻一块区域,该区域被称为bss段。该区域在程序结束后由操作系统释放。

●常量区用于存储字符串常量与其他常量,该区域在程序结束后由系统释放。

4.代码区:代码区用于存放函数体的二进制代码。程序中每定义一个函数,代码区都会添加该函数的二进制代码,用于描述如何运行函数当程序调用函数时会在代码区找该函数的二进制的代码并运行。

 

 

posted @ 2021-10-20 19:57  Colin_Cora  阅读(52)  评论(0编辑  收藏  举报