数据结构----严蔚敏
最近一直想找一本纯数据结构的书来学习,找来找去都没有找到一本合适的书籍,相比之下国内的书籍之中,严蔚敏和吴伟民的还算是经典版了,很多国内其他数据结构教材都参考这本书的。但缺点是很多都是伪代码,对编程初学者来说有一些难度,甚至有些考研的同学来看这本书有很多还看不懂,并且里面也有些容易迷惑人的地方。出于对自己数据结构知识的巩固和给那些考研的同学学习这本书一个参考,我决定对这本书中大部分的伪代码用C做一下描述。
首先解释一下本书中容易使人迷惑的地方:
1 一些使用的类型和变量
如:ElemType,Status,OK,OVERFLOW等,这些都是一些伪代码的描述,我们若是想在代码中使用它们,仍需对其定义。如:
typedef int ElemType;
typedef int Status; (注:由于C中没有bool类型,故定义为int).
enum{OVERFLOW,OK};
2 &的使用
这个操作符,在我们的位运算中属于与操作:
如: 1000 & 1000 = 1000;
1000 & 0001 = 0000;
在C中除了兼容上面操作符以外,还重载为了取地址操作符,也可说为取指针操作符,即取一个变量的指针。
在C++中不但兼容了上面两种形式,又重载了一种形式,取引用操作符,这个和取地址有些类似,但在用法上有些区别。
而在本书中的伪码中出现了很多这个符号,根据作者的意思,我们应该理解为引用。但引用确实是C++中的操作符,本书表明的是C语言描述,这点确实会令许多朋友对此迷惑不解。这里我们就把它理解为取地址就可以了,所说它在很多函数的生命中出现了。但不妨碍我们这样去理解他。
好的,就先解释这么多,其他有的地方会在各个章节中再给出来。
由于我也是在学习中总结,有不当之处,望请指正,大家共同进步.
下面让我们开始我们的数据结构之旅吧。祝大家好运。
数据结构----严蔚敏相关推荐
- 构建线性表的c语言代码,数据结构严蔚敏C语言版—线性表顺序存储结构(顺序表)C语言实现相关代码...
1.运行环境 这里说明一下这里所有的C语言代码都是基于code::blocks 20.03编译运行的.当然一些其他集成开发环境应该也是可以的,个人不太喜欢功能太过强大的IDE,因为那同样意味着相关设置 ...
- 数据结构 严蔚敏 第二章 线性表
数据结构 严蔚敏 第二章 线性表 线性表:由n个(n>=0)数据特征相同的元素构成的有限序列. 线性表的类型定义表示和实现 顺序表 存储单元地址连续 随机存取 若每个元素占用 m 个存储单元,以 ...
- 【计算机】数据结构-严蔚敏/清华大学P3
[计算机]数据结构-严蔚敏/清华大学P1 第二章 线 性表 线性结构 是 一个数据元素的有序(次序)集 线性结构的基本特征: 1. 集合中必存在唯一的一个"第一元素": ...
- 数据结构严蔚敏C语言版—线性表顺序存储结构(顺序表)C语言实现相关代码
数据结构严蔚敏C语言版-线性表顺序存储结构(顺序表)C语言实现相关代码 1.运行环境 2.准备工作 1)项目构建 1>新建一个SeqList项目 2>新建两个文件Sources和Heade ...
- 数据结构严蔚敏清华大学pdf_2019年清华大学自动化系控制工程专业大数据方向考研经验分享...
基本情况(以下内容仅代表个人观点) 我目前就读于西南某双非石油工程专业,2019考研报考清华大学自动化系大数据工程专业,一志愿复试被刷,侥幸调剂录取至微电子系.初试总分346分(政治-63 + 英语一 ...
- 有关数据结构基础知识(数据结构 严蔚敏版)
1. 数据结构是一门研究非数值计算程序设计中的操作对象 以及这些对象之间的关系和操作的学科 2. 研究包括逻辑结构和存储结构 1) 逻辑结构(从具体问题抽象出来的数学模型)分为 集合结构 线性结构 树 ...
- 数据结构----严蔚敏 (链表)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.链表是什么? 二.使用步骤 总结 前言 数据结构是软件技术.网络技术等计算机类专业的一门重要的专业基础课程,其理论 ...
- 字符串静态顺序结构C/C++实现(数据结构严蔚敏版)
1.头文件String.h #include<stdio.h> #include<stdlib.h> #include<string.h> #include< ...
- 队列链式结构C/C++实现(数据结构严蔚敏版)
1.头文件Queue.h; #include<iostream> #include<iomanip>//格式控制头文件 #include<stdlib.h> usi ...
最新文章
- spring JdbcTemplate 在项目中的浅层(5个使用场景)封装
- postman简单接口测试
- linux下的c语言控制灯闪烁,C语言实现LED灯闪烁控制
- 指针的理解 -- java程序员学C语言日记二
- php sql获取字段名称,mssql获取字段名及注释,以及一系列问题
- CN笔记:第二章 物理层
- 句句真研—每日长难句打卡Day14
- doc文件在线预览 vue_跨平台(uniapp)文件在线预览解决方案
- Eclipse properties.config.yml 配置文件中文编码问题。Eclipse 配置文件插件解决方案
- 22. DOM 简介
- 做了5年Java,java后端开发简历模板
- 阿里图标css的使用中的使用方法,iconfont阿里巴巴矢量图标库的正确使用方法
- C语言中的各种百分号都代表什么意思
- 【opencv 450 Image Processing】Creating Bounding boxes and circles for contours为轮廓创建边界框和圆
- Java基础知识(二) 面向对象的技术
- 负载均衡获得真实源IP的6种方法
- 3D游戏建模师的工作现状令人担忧,想要走的远,必须活到老,学到老才不被淘汰
- 西夏文可用电脑录入了【ZZ】
- 干货 | 想学习STEAM科学知识,必看这15个超赞的国外网站
- labelmx条码打印软件3.7
热门文章
- 应用程序未安装,已安装了存在签名冲突的同名数据包
- Hash算法解决冲突的方法
- verilog对信号二分频 时钟分频信号作为时钟使能信号
- 201903-2二十四点[20201213封笔题目]没写呢
- 《Head First Java (中文第二版)》勘误
- Java+MySQL基于SSM的在线论坛交流系统
- android 导航栏navigation
- Stanford Large-Scale 3D Indoor Spaces Dataset (S3DIS)
- 线性回归方程b保留几位小数_实验室原始数据怎么保留最准确?(一)
- 微信小程序setData的使用