随笔分类 - 算法
摘要:暂时接触到LeetCode上与链表反转相关的题目一共有3道,在这篇博文里面总结一下。首先要讲一下我一开始思考的误区:链表的反转,不是改变节点的位置,而是改变每一个节点next指针的指向。 下面直接看看LeetCode上的题目: 206. Reverse Linked List 这是一道最基本的链表反
阅读全文
摘要:这篇文章讨论一下与链表的环相关的题目,我目前遇到的一共有3种题目。 1.判断一个链表是否有环(LeetCode相关题目:https://leetcode.com/problems/linked-list-cycle/description/) 设置两个指针,初始值都指向头,一快一慢,slow每次前进
阅读全文
摘要:二分查找
阅读全文
摘要:LeetCode上面关于N皇后有两道题目:51 N-Queens:https://leetcode.com/problems/n-queens/description/ 52 N-Queens II:https://leetcode.com/problems/n-queens-ii/descript
阅读全文
摘要:最近在做LeetCode上面有关二叉树的题目,这篇博客仅用来记录这些题目的代码。 二叉树的题目,一般都是利用递归来解决的,因此这一类题目对理解递归很有帮助。 1.Symmetric Tree(https://leetcode.com/problems/symmetric-tree/descripti
阅读全文
摘要:1.冒泡排序 冒泡排序的原理是对临近的两个数字进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或者最小的数字就被交换到了最后一位了。然后再从头开始进行这种比较和交换,一直到完成排序。 代码如下: 要注意的是,所谓冒泡,就是要相邻的两个元素比较,假如一个数是最大的,它会一直冒泡到
阅读全文
摘要:1.文字描述: 已知一颗二叉树的前序(后序)遍历序列和中序遍历序列,如何构建这棵二叉树? 以前序为例子: 前序遍历序列:ABCDEF 中序遍历序列:CBDAEF 前序遍历先访问根节点,因此前序遍历序列的第一个字母肯定就是根节点,即A是根节点;然后,由于中序遍历先访问左子树,再访问根节点,最后访问右子
阅读全文
摘要:算法期中考到一题关于拓扑序的题目,觉得很值得一写。 1.什么是拓扑序? 对一个有向无环图进行拓扑排序,假如图中存在一条从顶点A到顶点B的路径,则拓扑序中顶点A出现在顶点B的前面。要注意的是,这是对有向无环图而言的,假如图是有环的,拓扑序就无从谈起了。在这道题目中,已经假定了图是一个无环图。因此不需要
阅读全文
摘要:1.使用到的方法或数据结构:DFS:栈(或递归) BFS:队列(一开始先把第一个节点放进队列中) 2.用法: DFS:内存消耗小,仅仅能找到解。 BFS:能找到最短路径 3.应用: 刚接触这两个算法的时候,不知道怎么将它们运用到一般的题目中。(以为只能用在解决“图”的题目中)但其实,我们利用的是它们
阅读全文
摘要:算法期中考遇到一道合并二叉树的题目的题目,感觉对理解二叉树的归并和二叉树本身这个的数据结构都挺有帮助,因此记录下来: 题目: 代码:
阅读全文
摘要:1.两个字符串的最长公共子串与最长公共子序列的区别: 最长公共子串要求在原字符串中是连续的,而子序列只需要保持相对顺序一致,并不要求连续。 下面分别讲讲怎么求它们。 2.最长公共子串: (1)暴力解法: 要求最长公共子串,可以用暴力的解法: 或者: 这种暴力解法唯一值得学习的地方,就是怎么求一个字符
阅读全文
摘要:背包问题泛指以下这一种问题: 给定一组有固定价值和固定重量的物品,以及一个已知最大承重量的背包,求在不超过背包最大承重量的前提下,能放进背包里面的物品的最大总价值。 这一类问题是典型的使用动态规划解决的问题,我们可以把背包问题分成3种不同的子问题:0-1背包问题、完全背包和多重背包问题。下面对这三种
阅读全文
摘要:Kruskal算法和Prim算法求最小生成树
阅读全文
摘要:#include using namespace std; void dfs(int num, int * a, bool * isVisited, string temp) { if (temp.size() == num) { cout << temp << endl; } else { for (int i = 1; i <= nu...
阅读全文
摘要:Dijkstra算法用于寻找有权图中的从一个顶点到其他顶点的最短路径(不适用于负权图)。 下面这篇博文给出了介绍Dijkstra算法的比较好的一个例子: http://blog.csdn.net/u013071074/article/details/29582381 下面是代码:
阅读全文

浙公网安备 33010602011771号