博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
抽象数据类型——表
阅读量:4137 次
发布时间:2019-05-25

本文共 684 字,大约阅读时间需要 2 分钟。

数据结构与算法分析.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:自己只实现了用数组实现

②基数排序:,有一点错误

③多重表

链表的游标实现:

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

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

转载地址:http://whovi.baihongyu.com/

你可能感兴趣的文章
在osg场景中使用GLSL语言——一个例子
查看>>
laravel 修改api返回默认的异常处理
查看>>
laravel事务
查看>>
【JavaScript 教程】浏览器—History 对象
查看>>
这才是学习Vite2的正确姿势!
查看>>
7 个适用于所有前端开发人员的很棒API,你需要了解一下
查看>>
25个构建Web项目的HTML建议,你需要了解一下!
查看>>
【web素材】02-10款大气的购物商城网站模板
查看>>
6种方式实现JavaScript数组扁平化(flat)方法的总结
查看>>
如何实现a===1 && a===2 && a===3返回true?
查看>>
49个在工作中常用且容易遗忘的CSS样式清单整理
查看>>
20种在学习编程的同时也可以在线赚钱的方法
查看>>
隐藏搜索框:CSS 动画正反向序列
查看>>
12 个JavaScript 特性技巧你可能从未使用过
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(上)
查看>>
【视频教程】Javascript ES6 教程27—ES6 构建一个Promise
查看>>
【5分钟代码练习】01—导航栏鼠标悬停效果的实现
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(中)
查看>>
8种ES6中扩展运算符的用法
查看>>
【视频教程】Javascript ES6 教程28—ES6 Promise 实例应用
查看>>