摘要:算法笔记-STL以及常见问题 vector vector name 函数 功能 时间复杂度 push_back(x) 在vector后面添加一个元素 O(1) pop_back() 删除vector的尾元素 O(1) size() 获得vector的元素个数 O(1) clear() 清空vecto
阅读全文
摘要:算法笔记错误-链表篇 for(int i=first;i!=-1; i=link[i].next){ link[i].flag = true; } 上述代码中,i只有在for循环内有效,出了for循环,就无效了
阅读全文
摘要:算法笔记-广度优先搜索 深度优先搜索的本质是递归,广度优先搜索不需要递归 深度优先搜索不要用栈实现,广度优先搜索要用队列实现 scanf()按s格式符不能输入带空格的字符串 gets()能输入带空格的字符串 scanf()以回车符作为字符串的终止符,同时不读走回车符,回车符仍然留在输入缓冲区中 ge
阅读全文
摘要:算法笔记-第9章~第10章各种定义总结 二叉树(Binary Tree): 要么二叉树没有根节点,是一棵空树。 要么二叉树由根节点、左子树、右子树组成,且左子树和右子树都是二叉树。 满二叉树: 每一层的节点数都达到了当层能达到的最大结点数。 完全二叉树: 定义:除了最下面一层外,其余层的结点
阅读全文
摘要:算法笔记-深度优先搜索 “让右手始终贴着右边的墙壁走” 推荐使用递归实现DFS,使用递归的时候系统会调用系统栈,因此用递归来实现DFS的本质还是栈 vector常用函数: 函数 功能 时间复杂度 push_back(x) 在vector后面添加一个元素 O(1) pop_back() 删除vecto
阅读全文
摘要:BFS模板 void BFS(int s){ queue<int> q; q.push(s); while(!q.empty()){ 取出队首元素front; 访问队首元素front; 将队首元素出队; 将front的下一层结点中未曾入队的结点全部入队,并设置已入队 } } DFS模板 递归 pri
阅读全文