你的问题令人很无语
学计算机语言没有不学数据结构的
:
程序=数据结构+算法
你现在主要是还没有接触到需要复杂数据结构的算法
例如:
1
输入一串表达式: (1+3)*5-4+(3-5)*2
输出它的结果
这个程序就要用到栈的数据结构
2
中国象棋棋盘上
(x1,y1)位置上放着一只马
请问它走到(x2,y2)最少要走几步
这个程序就要用到队列的数据结构
3
给你平面内n个点的坐标
用n-1条线段把这n个点连起来
线段总长度最小是多少
这个程序就需要图的数据结构
记住这句经典的话:
程序=数据结构+算法
有些算法是支撑在高级数据结构上的
除了楼上说的
我们要快速的合并集合
查询哪个元素在哪个集合中
就要用 并查集
我们要快速查询改变中的
一列数中的一段的和
就要用树状数组、线段树
至于还有很多的题目要用二叉搜索(排序)树
如Treap、Splay、SBT等等