首页>计算机>软件水平考试>复习指导>正文
2010年下半年初级软考辅导:程序员数据结构笔记(一)

www.zige365.com 2010-7-10 16:08:07 点击:发送给好友 和学友门交流一下 收藏到我的会员中心
      读这文章的人想必都是想报考或者将考程序员的同志们吧!首先一点必须问问自己,我考程序员的目的到底是为了什么?如果你的答案是:"只是为了拿一本证书".那我劝你早点GIVEUP吧!那样学起来会很累,因为没有兴趣.如果你想加入程序员的行列,为将来开发打下坚实的基础,那就试着看完这一小篇读书笔记吧!或许会对你有所帮助.
  有句话必须记住:程序员考试仅仅是为了检验自己学到的而已,仅此而已!我想这便是程序员考试的最终意义所在吧!有些事情更注重过程!
  数据结构
  知识:
  1.数据结构中对象的定义,存储的表示及操作的实现.
  2.线性:线性表、栈、队列、数组、字符串(广义表不考)
  树:二叉树
  集合:查找,排序
  图
  能力:
  分析,解决问题的能力
  过程:
  确定问题的数据。
  确定数据间的关系。
  确定存储结构(顺序-数组、链表-指针)
  确定算法
  编程
  算法评价(时间和空间复杂度,主要考时间复杂度)
  一、数组
  1、存放于一个连续的空间
  2、一维~多维数组的地址计算方式
  已知data[0][0]的内存地址,且已知一个元素所占内存空间S求data[i][j]在内存中的地址。
  公式:(add+S)
  注意:起始地址不是data[0][0]时候的情况。起始地址为data[-3]和情况;
  3、顺序表的定义
  存储表示及相关操作
  4、顺序表操作中时间复杂度估计
  5、字符串的定义(字符串就是线性表),存储表示
  模式匹配算法(简单和KMP(不考))
  6、特殊矩阵:存储方法(压缩存储(按行,按列))
  三对角:存储于一维数组
  三对角问题:已知Aij能求出在一维数组中的下标k;已知下标k求Aij。
  7、稀疏矩阵:定义,存储方式:三元组表、十字链表(属于图部分,不考)
  算法
  数组中元素的原地逆置;对换
  在顺序表中搜索值为X的元素;
  在有序表中搜索值为X的元素;(折半查找)
  在顺序表中的第i个位置插入元素X;
  在顺序表中的第i个位置删除元素X;
  两个有序表的合并;算法?
  线性表数据结构定义:
  Typedefstructlinear_list;
  模式匹配
  字符串相加
  求子串
  (i,j)<=>K注意:不同矩阵所用的公式不同;
  稀疏矩阵的转置(两种方式,后种为妙)
  和数组有关的算法
  例程:求两个长整数之和。
  a=13056952168
  b=87081299
  数组:
  a:13056952168
  b:87081299
  由于以上的结构不够直观将其改为:
  a:1186125965031a[0]=11
  b:899218078000b[0]=8
  c进位01100111100
  c:1176433044231c[0]的值由c[max_s+1]决定!
  注意:在求C前应该将C位赋0.否则为随机数;较小的整数高位赋0.
  算法:已知a,b两个长整数,结果:c=a+b;
  总共相加次数:max_s=max
  程序:
  for
  求c位数:
  if
  c[0]=max_s;
  else
  c[0]=max_s+1;
  以下代码是我编的:
  /两长整数相加/
  #include<stdio.h>
  #include<string.h>
  #definePRINprintf;
  intflag=0;/a[0]>b[0]?1:0/
  /max/
  change
  else
  }
  add
  if
  c[0]=a[0];
  else
  c[0]=a[0]+1;
  }
  else
  if
  c[0]=b[0];
  else
  c[0]=b[0]+1;
  }
  }
  voidprint
  main;
  chardb=;
  a[0]=strlen;
  b[0]=strlen;
  printf;
  printf;PRIN
  change;
  printf;PRIN
  printf;
  if
  else
  add;
  printf;
  print;
  }
  时间复杂度计算:
  确定基本操作
  计算基本操作次数
  选择T
  lim/T)=c
  0)为时间复杂度
  上例子的时间复杂度为O;
  二:链表
  1、知识点
  逻辑次序与物理次序不一致存储方法;
  单链表的定义:术语(头结点、头指针等)
  注意带头结点的单链表与不带头结点的单链表区别。(程序员考试一般不考带头结点,因为稍难理解)

本新闻共2页,当前在第1页  1  2  

我要投稿 新闻来源: 编辑: 作者:
相关新闻