c语言数据结构(一)
第一章 绪论
一、数据与数据结构
数据:所有能被输入到计算机中,且被计算机处理的符号的集合计算机操作的对象的总称。是计算机处理的信息的某种特定的符号表示形式。
数据元素:数据中的一个“个体”,数据结构中讨论的基本单位。
数据项:数据结构中讨论的最小单位,数据元素是数据项的集合。
数据结构:带结构的数据元素得集合。
数据的逻辑结构:1.线性结构,2.树形结构,3.图状结构,4.集合结构。
数据的存储结构:逻辑结构在存储器中的映射。
数据元素的映象方法:用二进制位(bit)的位串表示数据元素。
关系的映象方法:(表示<x,y>的方法)
顺序映象 :以存储位置的相邻表示后继关系。
链式映象:以附加信息(指针)表示后继关系。
二、数据类型
数据类型是一个值得集合和定义在此集合上的一组操作的总称。
三、抽象数据类型(ADT)
抽象数据类型(ADT)是指一个数据模型以及定义在此数据模型上的一组操作。
ADT的重要特征:1.数据抽象(用ADT描述程序处理的实体时,强调的是其本质的特征、其所能完成的功能以及它和外部用户的接口,即外界使用它的方法)2.数据封装(将实体的外部特性和其内部实现细节
分离,并且对外部用户隐藏其内部实现细节)。
抽象数据类型的描述方法
抽象数据类型可用(D,S,P)三元组表示
其中,D是数据对象 S是D上的关系集 P是对D的基本操作集
c语言数据结构(一)的更多相关文章
- 读谭浩强C语言数据结构有感(1)
1.什么是数据结构? 数据结构,就是我们计算机内部的运算,编程语言的基础工作模式吧,个人总结的 = = !! 数据:说简单一点,就是计算机二进制机器码,然后通过一些复杂的操作,变为复杂的语言. 数据元 ...
- C语言数据结构----栈与递归
本节主要说程序中的栈函数栈的关系以及栈和递归算法的关系. 一.函数调用时的栈 1.程序调用时的栈是也就是平时所说的函数栈是数据结构的一种应用,函数调用栈一般是从搞地质向低地址增长的,栈顶为内存的低地址 ...
- 第二章 R语言数据结构
R语言存储数据的结构包括:标量.向量.矩阵.数组.数据框和列表:可以处理的数据类型包括:数值型.字符型.逻辑型.复数型和原生型. 数据结构 向量 向量是用来存储数值型.字符型或逻辑型数据的一维数组.单 ...
- C语言---数据结构(内建,数组,自定义)
数组是一组有序数据的集合,每个元素都属于同一个数据类型. 一维数组的定义: 类型符 数组名[常量表达式] 常量表达式中,可以包括常量和符号常量,int a[3+5]是合法的.但是不能包含int a[ ...
- C语言数据结构之二叉树的实现
本篇博文是博主在学习C语言算法与数据结构的一些应用代码实例,给出了以二叉链表的形式实现二叉树的相关操作.如创建,遍历(先序,中序后序遍历),求树的深度,树的叶子节点数,左右兄弟,父节点. 代码清单如下 ...
- [C语言] 数据结构-预备知识指针
所有的伟大源于一个勇敢的开始 数据结构预备知识 指针 1.指针:是C语言的灵魂,指针=地址 地址:内存单元的编号 指针变量:存放内存单元地址的变量 int *p;//p是指针变量,int *表示该p变 ...
- [C语言] 数据结构-衡量算法的标准
1.衡量算法的标准 算法 解题的方法和步骤 衡量算法的标准 1.时间复杂度 大概程序要执行的次数,而非执行的时间,不同的机器运行时间肯定不一样. 2.空间复杂度 算法执行过程中大概所占用的最大内存 3 ...
- C语言数据结构与算法之深度、广度优先搜索
一.深度优先搜索(Depth-First-Search 简称:DFS) 1.1 遍历过程: (1)从图中某个顶点v出发,访问v. (2)找出刚才第一个被顶点访问的邻接点.访问该顶点.以这个顶点为新的顶 ...
- C语言数据结构-栈
一.栈的定义 栈(statck)这种数据结构在计算机中是相当出名的.栈中的数据是先进后出的(First In Last Out, FILO).栈只有一个出口,允许新增元素(只能在栈顶上增加). 移出元 ...
- C语言数据结构-链式队列的实现-初始化、销毁、清空、长度、队列头元素、插入、删除、显示操作
1.数据结构-链式队列的实现-C语言 typedef struct QNode { int data; struct QNode *next; }QNode,*QueuePtr; typedef st ...
随机推荐
- Redis入门实例(Redis+Sprint+maven创建工程)
一.>创建一个maven工程应用和相关配置:Redis_study,创建工程应用过程略 1.>配置pom.xml:文件内容如下 <project xmlns="http:/ ...
- 关于mysql启动问题---mysqld_safe mysqld from pid file * ended
#在[mysqld]中添加: datadir = /usr/local/mysql/data #添加 log-error = /usr/local/mysql/data/error.l ...
- mongodb在windows平台安装和启动
mongodb 官网:https://www.mongodb.com mongodb 官网下载: mongodb-win32-x86_64-2008plus-ssl-3.4.2-signed.msi ...
- 关于notify() 和notifyAll() 一个需要注意的地方
notify() 和 notifyAll()都是唤醒其他正在等待同一个对象锁的线程. 下面是我遇到的一个问题,记下来,免得忘了. 直接上代码,有错误的代码: 代码描述:有一个Caculate类,类中又 ...
- 【C++】随机重命名MP3文件
新置MP3一件,竟然没有随机播放的功能.坑啊!身为程序媛一枚,自己动手吧~ 获取当前路径: char buf[1000]; GetCurrentDirectory(1000,buf); string ...
- 七.部署war包到Tomcat(基于Centos安装)
1.把war包上传至tomcat的webapps目录下面 2.启动Tomcat,在Tomcat的bin目录下面,运行startup.sh 3.访问项目,如下成功打开项目
- 全局ajax的使用
一.ajax介绍 详细介绍请看:http://www.runoob.com/ajax/ajax-tutorial.html AJAX = Asynchronous JavaScript and XML ...
- 给windows添加路由
route add 10.0.0.0 mask 255.0.0.0 172.16.1.253 -p
- Intellij IDEA如何删除项目
1. 删除某个项目 1) 选中项目,并关闭 2) File-Open,再选中相应的项目,并delete即可,它会同时在硬盘上删除
- 使用@Aspect切面进行让JDBC自动关闭(Spring AOP)
原生jdbc进行测试 demo:https://github.com/weibanggang/springjdbcAspect.git