网站大量收购闲置独家精品文档,联系QQ:2885784924

南邮ACM程序设计与算法第5讲.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ACM程序设计与算法 班 级 :仙林校区2009级竞赛培训同学 任课教师 :陈 志 上课地点和时间 理论:教3-101:星期3 (18:30开始) 实践:(仙林)计算中心 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 第5讲:ACM竞赛之数据结构 5.5 图 结构(邻接表) typedef struct lnode *glink; struct lnode{ int v; //边的另一个顶点 glink next; //邻接表指针 } typedef struct graph *Graph; struct graph{ int n; int e; glink *adj; //邻接表数组 }Lgraph; 陈志老师(南邮ACM竞赛教练) 南京邮电大学计算机学院 联系方式 电话:138-139-30027 电邮:acm@njupt.edu.cn 线性结构:数据元素之间存在一对一的关系。一个前驱,一个后继。 树形结构:数据元素之间存在一对多关系。 图状结构:数据元素之间存在多对多的关系。每个结点前驱和后继的数目都不同。 集合结构:结构中的数据元素之间除了“同属于一个集合”的关系外,没有其它关系。 (a)集合结构 (b)线性结构 (c)树形结构 (d)图状结构 四种基本的结构关系 5.1 队列(Queue) 队列的示意图 Q=(a0,a1,…,an-1) a0 a1 … an-1 front rear 入队 出队 5.1 队列(Queue) 卡片游戏 桌上有一叠牌,从第一张牌(即位于顶面的牌)开始从上往下依次编号为1~n。当至少还剩两张牌时进行以下操作:把第一张扔掉,然后把新的第一张放到整叠牌的最后。 输入n,n≤1000000。 输出每次扔掉的牌,以及最后剩下的牌。 样例输入:7 样例输出:1 3 5 7 4 2 6 5.1 队列(Queue) 卡片游戏 #includestdio.h const int MAXN = 50; int queue[MAXN]; int main() { int i, n, front, rear; scanf(%d, n); for (i = 0; i n; i++) queue[i] = i+1; front = 0; rear = n; while (front rear) { printf(“%d ”, queue[front++]); //格式有待改进 queue[rear++] = queue[front++]; } return 0; } 5.1 队列(Queue) 卡片游戏 #includecstdio #includequeue using namespace std; queueint q; int main() { int n, front, rear; scanf(%d, n); for (int i = 0; i n; i++) q.push(i+1); while (!q.empty()) { printf(%d , q.front()); //格式有待改进 q.pop(); q.push(q.front()); q.pop(); } return 0; } 5.2 堆栈(Stack) a0 a1 … ai … an-1 入栈 出栈 bottom

文档评论(0)

wxc6688 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档