摘要:
概念 定义 树枝分叉处、树叶、树根抽象为结点(node) 树根抽象为根结点(root),一棵树最多存在一个根结点 树叶抽象为叶子节点(leaf),不再延伸出新的结点 茎干和树枝抽象为边(edge),一条边只用来连接两个结点 树中的结点不能被边连成环 子结点(child)、子树(subtree) 性质 阅读全文
摘要:
深度优先搜索(DFS) 枚举所有完整路径以遍历所有情况 栈 实现 使用递归可以实现深度优先搜索 可以通过条件限制节省DFS计算量,方法称作剪枝 广度优先搜索(BFS) 优先访问能直接到达的所有结点 队列 实现 void BFS(int s) { queue<int> q; q.push(s); wh 阅读全文
摘要:
栈 后进先出 栈顶指针始终指向最上方元素 栈为空时栈顶指针为-1 常用操作 清空(clear):TOP = -1 获取栈内元素个数(size):size = TOP + 1 判空(empty):TOP == -1 进栈(push):st[++TOP] = x 出栈(pop):TOP-- 取栈顶(to 阅读全文