1.程序的基本结构算法
<1>顺序执行express
<2>循环、递归结构 (循环初始化、循环体、循环条件)数组
对九宫格进行遍历数据结构
for(int i = 0; i < 9; i++) { int row = i / 3; int col = i % 3; game->cells[row][col].fixed = false; }
递归方式实现二叉树查找算法spa
bool FindTNode(TNODE *tr, int key) { if(tr == NULL) return false; if(tr->key == key) return true; if(key < tr->key) return FindTNode(tr->left, key); else return FindTNode(tr->right, key); }
<3>分支和跳转 if case 设计
2.算法的实现与数据结构code
<1>基本数据结构在算法设计中的总用blog
数组(array)递归
链表(linkde list)队列
栈 (stack)
栈举例
bool IsMatchBrackets(const std::string& express) { std::stack<std::string::value_type> epStk; std::string::size_type i; for(i = 0; i < express.length(); i++) { if(IsLeftBrackets(express[i])) { epStk.push(express[i]); } if(IsRightBrackets(express[i])) { if(epStk.empty()) return false; epStk.pop(); } } return epStk.empty(); }
队列 (queue)
<2>复杂数据结构在算法设计中的应用
树 (tree)
集合 (set)
哈希表(hash)与映射(map)
图(graph)
3.数据结构和数学模型与算法的关系