抽象数据类型——表

2024-02-03 06:32
文章标签 抽象数据类型

本文主要是介绍抽象数据类型——表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据结构与算法分析.c 实现 总结

抽象数据类型:abstract data type,首先顾名思义,①她是一种数据类型,就像整数、字符,类似于加减乘除,他有自己的操作,例如:并和查找;②并没有什么法则规定一定要有什么操作,具体的看设计要求;③每种数据类型的实现方式也是不同的,主要有 数组实现和链表实现,不同的实现对于不同的数据结构的不同运算有不同的优缺点。

基础名词:表、空表、前驱、后继

基本操作集合:PrintList, MakeEmpty,Find,FindKth ,Insert, Delete...

数组实现;①需要对表的最大值进行估计,浪费空间

②PrintList和Find可以以线性时间执行,FindKth只花费常数,但是插入和删除的花费很大;

链表实现:①每个结构含有表元素和指向包含该元素的后继元的结构的NEXT指针

常见错误:①“memory access violation"或"segmentation violation"通常意味着指针变量包含了伪地址。可能的原因是初始化失败、或是指针指向了NULL。②malloc的使用问题,声明指向一个结构的指针并不创建该结构;给结构体分配空间而不是指针:(List *)malloc(sizeof(struct Node))

应用:

①多项式ADT:自己只实现了用数组实现

②基数排序:http://m.oschina.net/blog/86162,有一点错误

③多重表

链表的游标实现:

模仿链表的两个特性:NEXT;malloc/free


心得:快疯了,自己实现好难,应该说现在想要看懂别人的程序都难,一定要把指针牢牢掌握;刚开始大家都一样,不要烦躁。。

这篇关于抽象数据类型——表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/673248

相关文章

数据结构中抽象数据类型如何实现?

抽象数据类型可以通过固有的数据类型(如整形,实型,字符型等)来表示和实现。 即利用处理器中已存在的数据类型来说明新的结构,用已经实现的操作来组合新的操作。 用类c语言(介于伪码和c语言之间)作为描述工具。 例如:抽象数据类型“复数”的实现           typedef  sturt{                float  realpart;      //实部

数据结构的三要素以及数据类型和抽象数据类型

一.数据结构的三要素: 二.逻辑结构: 三.数据的运算: 三.数据的物理结构(存储结构): 1.数据的存储结构:有4种 顺序存储 链式存储 索引存储 散列存储 注:顺序存储数据之间必须相邻。 链式存储,索引存储和散列存储的数据之间是不相邻的,即离散,也叫非顺序存储或离散存储。 2.顺序存储: 3.链式存储: 4.索引存储:

数据结构(DS)学习笔记(二):数据类型与抽象数据类型

参考教材:数据结构C语言版(严蔚敏,杨伟民编著) 工具:XMind、幕布、公式编译器          正在备考,结合自身空闲时间,不定时更新,会在里面加入一些真题帮助理解数据结构 目录 1.1数据类型 1.2抽象数据类型(ADT) 1.3多形数据类型 1.4抽象数据类型的表示与实现 1.1数据类型 数据类型就是一组性质相同的值的集合以及定义于这个值集合上的一组操作

数据结构(四)抽象数据类型

数据结构(四)抽象数据类型 要点:数据结构是,数据对象,数据对象的操作和如何使用数据对象的操作 思考:什么是抽象数据类型 01 数据对象的定义 1.逻辑结构: 线性结构(一对一): 数组 树结构(一对多)图结构(多对多 2.物理存储结构: 内存中实际的存储方式 抽象数据类型 类似java的抽象类和接口,只是定义属性和函数,而不具体实现,当使用时再实现对应接口 02 数据对象的操

【数据结构】抽象数据类型

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 🎏数据类型 🎏抽象数据类型 结语 🎏数据类型 数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称. 数据类型(data type)是和数据结构密切相关的一个概念,它最早出现在高级程序语言中,用以刻画(程序)操作对象的特性. 数据

c语言抽象数据类型-复数

设计一个可进行复数运算的演示程序,要求实现下列四种基本运算:     1)由输入的实部和虚部生成一个复数;     2)两个复数求和;     3)两个复数求差;     4)两个复数求积;     5)打印输出一个复数。 #include <stdio.h>typedef struct {float x;float y;} complex;void creat(complex*

抽象数据类型:复数COMPLEX

抽象数据类型:复数COMPLEX:分别对实部和虚部在结构体进行定义。 ADT COMPLEX{ 数据对象:D={real,image|real∈实数,image∈实数} 数据关系:R={<real,image>} 基本操作: InitComplex(&C) 操作结果:构造一个复数。 GetReal(C, &real) 初始条件:复数C存在。 操作结果:用real返回复数C的实部。 GetImage

c语言设计实现抽象数据类型有理数基本操作包括有理数加法减法乘法,设计实现抽象数据类型“有理数”。基本操作包括有理数的加法,减法,乘法,除法,以及求有理数的分子,分...

满意答案 jiduyumenzhe 推荐于 2017.11.24 采纳率:41%    等级:12 已帮助:10463人 有理数即分数, 分数的数据类型是很简单的。 另外,求有理数的分子,分母的问题,因为给的有理数只能是有限小数,所以根本没有疑问。 但是如果改成: 求分子分母之和最小的,在一定误差范围内的分数,这个问题才有价值 比如: 0.3333333,如果误差为1e-4 那么1/3明显要

数据结构 C语言 2.1 线性表抽象数据类型 2.2 小议顺序表

一、线性表抽象数据类型 线性表的定义 定义:零个或多个数据元素的有限序列 线性表的特点: 1.它是一个序列 数据元素之间是有序的 数据元素之间是一对一的关系 2.有限性 线性表的数据元素个数是有限的 注意:零个数据元素的有限序列又被称为空表 线性表常见的操作 1.创建和初始化、2.查找、3.删除、4.插入、5.清空 抽象数据类型定义: ADT SequenceList D

[数据结构]抽象数据类型算法

第一章 绪论 1.3 抽象数据函数 数据类型:一个值的集合和定义在这个值集上一组操作的总称。 例:C语言中,提供int,  char, float, double等基本数据类型,数组、结构体、共用体、枚举等构造数据类型,还有指针、空(void)类型等。 用户也可用typedef自己定义数据类型 typedef   struct  {              int