1。注意位段用法和大头序和小头序
1 n* j9 S8 P( F6 X( \; s
4 _" L( f4 [ }. `$ [2。字节对起问题3 |2 O: M" V2 E% T1 v( i' N6 a2 i
: ?4 R8 ?/ Z+ S
3.全局变量的描述3 T0 n0 z6 \4 e# E& S/ E& @2 z
4 M; D7 Z6 E( [# E' e- X0 E0 [2 h
2 F4 D- a# _4 i/ u
1.2叉树的遍历,前序,中序和后序。给一个2叉树你要能写出按上述遍历的序列。' L# `* G Z' ^
2.指针的长度,sizeof(char*) = 1; sizeof(int*) = 4等;
! s3 t1 X: ]* C6 ]( `, X% P' Q2 N R比如会考int* a = 0x0000 0001; a+4 = ?
) a9 Q0 Z7 b( X% s# L4 _3.2维数组a[1][2]用指针怎么表示?*(*(a+1)+2);7 y+ S# W1 j7 p/ [0 ~) A2 G
4.指针问题,什么函数指针,返回指针类型的函数,常指针,指向常量的指针,数组指针,指向一维数组的指针。
9 R2 q0 g& k! u* L0 H5.指针和数组的区别。; r4 D; D. |9 B, Y
char a[] = "Hi, pig!";4 ]. t5 t$ d6 m. |! N& l
char *p = "Hi, pig!";
* C: @/ p e0 T0 C5 E, R* g4 S8 v7 i1 m$ x/ m" f D5 V& V0 J
改错题:
9 h+ q0 d8 d9 n8 `, v. D; I0 R9 e1.strcpy注意字符串长度,不要产生内存越界问题。
; U* m* m! _2 O* Z' f2.高质量c++上那些内存分配的改错题。$ o$ Z3 D. e( c* J0 w! z9 ?& b0 g
3.unsigned char a;
9 G+ V X" T* K, Hfor(a = 0; a < 500; a++)- w! l5 V( |' ?" p, v) p
;
; d) Z( @ S( u. a% c1 D2 l之类注意死循环的改错题;
1 M9 A) E! t% J- {- Z( U* F4.静态变量的可重入问题
! |% T ^& H5 e& V2 R5.宏的问题。6 r$ d1 E' ^4 T# B$ f, L2 ?
比如要求a+1的平方:/ U4 I4 O& A9 ?: S4 W. a- [3 ~
#define A_1(m) ((m)*(m))
3 m# Q) p& {6 l' \" Jint a = 6;
, G9 e. [* k6 k% a U* oint val = A_1(a++);
+ e% T( j% u- l5 |5 P" x6 I
2 K( h+ j' B1 l! h8 J% s* s5 B$ |) k5 n, r; ~4 g: V
算法题:
# C0 a6 |4 d. ?, r* u1.设有n个人依围成一圈,从第1个人开始报数,数到第m个人出列,然后从出列的下一个人开始报数,数到第m个人又出列,…,如此反复到所有的人全部出列为止。设n个人的编号分别为1,2,…,n,打印出出列的顺序。5 s$ \9 l: z( I5 y y h
2.找出1000以内满足既是平方数,又有两个数相等的数。例如121, 121=11*11且有2个1。
% K% u2 |" \+ @要求尽量优化算法。9 m6 R7 ?5 Q) Y0 g( y8 S# m
5 v+ @/ J! {7 c7 L, o1 a
% S+ }( T2 V5 Z* D0 ~! d1 E
后面这些不是试卷上的。 X) k! k& K/ F
其他稍微掌握一下:
, _5 W% X+ t, k( F4 W/ q. [* [1.经典递归 例如hanoi塔问题:经典的递归,原问题包含子问题。有些问题或者数据结构本来就是递归描述的,用递归做很自然。
, ?- @" o. J2 z# }2.递归与递推 利用递归的思想建立递推关系,如由兔子生崽而来的fibonacci数列。但递推由于没有返回段,因此更为简单,有时可以直接用循环实现。 : b3 u6 Z$ {* K( v' A7 n/ F$ X _6 Z
3.分治 不少分治方法是源于递归思想,或是递归分解+合并处理。 9 r& E4 l& s1 M. |5 P6 I& W
4.回溯 规模较小的问题用回溯解决比较自然。注意递归前后要保证现场的保存和恢复,即正确的转化问题。 + u( o9 c8 j4 O6 e7 q
5.动态规划 动态规划的子问题重叠性质与递归有某种相似之处。递归+动态修改查表是一种不错的建立动态规划模型的方法。 % @4 ^" N( Y* N2 }
6.其他 其他么,就是不好归类。例如表达式处理,排列组合等。附带说一下,用递归来处理打印方案的问题还是很方便的。求把一个整数n无序划分成k份互不相同的正整数之和的方法总数
3 v1 P& y. U( n0 A! \7 W1 N8 s# X9 ^. Y# w
8 G% b, C* V: ], J( u. k$ W
我认为必需掌握的算法:. }- n5 _ p3 r' p
排序算法(尤其是快速排序和冒泡)
4 g! P8 q* C1 h! Q- y& v7 x/ Q字符串函数实现。: P. c/ r* r+ D+ s. h9 c8 f2 J0 V- [
) p$ Y2 y6 j& [+ d
其它杂7杂8的。
# X* u" [6 w6 p) x比如:怎么判断一个单链表是不是循环链表。% [- A( I6 h- c# }, ^
怎么求出一个无符号数中1的个数。
. J& P: I: @+ Y- l怎么不用其他变量,实现两变量交换。 |