数据结构高分笔记习题_考试点专业课:数据结构高分笔记.pdf

数据结构考研高分笔记

第一章绪论

本章概略

▲ 针对考研数据结构的 语言基础以及代码书写规范

对于考研数据结构,需要C 与C++语言作为基础,但是又不需要太多,因此此处讲解

有针对性。现在我们面临的是研究生考试,要在答题纸上写代码,代码的评判者是阅卷老

师,而不是TC ,VC6.0 等编译器。如果之前你只熟悉在这些编译器下写代码,那你要看看

这一部分,这里教你怎么快速的写出能让阅卷老师满意的代码。

▲ 算法的时间复杂度分析基础

为什么要特别注重这一块的讲解?在09 年批阅数据结构算法那道题的时候,由于当

时阅卷的标准答案是教育部给出的,并且明确说明以此为标准答案,但是教育部给出的

算法时间复杂度太大,对于算法有研究的同学,可以很轻松的写出一个算法,并且时间

复杂度远远小于标准答案。教育部就是权威,没有办法,只能按照教育部的答案改,这

样就导致了算法牛人写出更完美的算法,却得了最低的分。也许是为了避免这种不公平

的再次出现,10 年的考试要求终于改了,考生必须对自己写的算法给出时间复杂度和空

间复杂度,并以此来作

为评分的依据。所以这已经成为数据结构45 分里面的必考内容,这一点的考察在图、排

序、查找这三章内体现的尤为明显,因此我会在本章先总体讲一下算法时间复杂度分析的

基本方法,并在以后章节中以题目的形式讲一些具体分析思路,这样考生逐渐的就会掌握

考研要求的算法复杂度分析方法。

▲ 数据结构和算法的基本概念

这一部分介绍一些贯穿于整本书的基本概念。

. 针对考研数据结构的代码书写规范以及 语言基础

. . 考研综合应用题中算法设计部分的代码书写规范

要在答题纸上快速的写出能让阅卷老师满意的代码,是有些技巧的,这与写出能在编

译器上编译通过的代码有所不同。为了说明这一点我们首先看一个例题:

设将n (n>1 )个整数存放到一维数组R 中。设计一个算法,将R 中的序列循环左移

P ( 0

1

{Xp,Xp-1,,Xn-1,X0,X1...Xp-1}。要求:写出本题的算法描述。

分析:本题不难,要实现R 中序列循环左移P 个位

置,只需先将R 中前P 个元素逆置,再将剩下的元

素逆置,最后将R 中所有的元素再整体做一次逆置

操作即可。本题算法描述如下:

#include //1

#define N 50 //2

using namespace std; //3

void Reverse(int R[],int l,int r) //4

{ //5

int i,j; //6

int temp; //7

for(i=l,j=r;i

{ //9

temp=R[i]; //10

R[i]=R[j]; //11

R[j]=temp; //12

} //13

} //14

void RCR(int R[],int n,int p) //15

{ //16

if(p<=0||p>=n) //17

cout<

else //19

{ //20

Reverse(R,0,p-1); //21

Reverse(R,p,n-1); //22

Reverse(R,0,n-1); //23

} //24

} //25

int main() //26

{ //27

int L,i; //28

int R[N],n;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值