算法
文章平均质量分 59
放荡不羁笑点低233
这个作者很懒,什么都没留下…
展开
-
2018华为软件精英挑战赛实况记录
今天想写一篇博客记录一下自己参加华为软挑的过程,估计会在接下来一个月陆续更新。题目其实几天前就看过了,代码也写了两天,不过报名还是今天的事。 今年的题目相对还是比较好理解的,而且方向也很明确——用机器学习方法训练数据,随后用装箱问题的思路解决。由于自己缺少机器学习的基础,因此第一步暂时采用了将训练数据按周分段的方法。先统计每周内各虚拟机的申请数目,对于异常数据(如大于平均...原创 2018-03-18 22:11:07 · 1953 阅读 · 9 评论 -
几种排序方法在c++中的实现
排序问题是数据结构与算法中一门非常重要的学问,很多的问题的解决都是以排序问题为优先的。我总结了几种常见的排序算法,给出它们在c++下的实现代码,并比较了几种算法的运算效率。1.直接插入排序法直接插入排序的思想是:给出一个已从小到大排好序的数组,插入第i个数据。这时候,需要从后向前比较该数据与当前位置数据的大小,找到插入位置将该数据插入,原来位置上的元素向后顺移。这种算法具体的运行时间与...原创 2018-08-17 11:07:07 · 804 阅读 · 0 评论 -
二叉树的三种遍历方法的非递归实现(c++版)
二叉树的前序遍历、中序遍历与后序遍历一直是面试时的常客。这三种遍历方法都有递归实现与非递归实现两种版本。递归实现只需要根据定义书写即可,而非递归实现则会用到其他的数据结构,相对复杂。本文将这三种遍历方法的非递归实现加以总结,以备不时之需。1.前序遍历前序遍历的非递归版本需要用到一个栈,用以记录当前遍历节点的右子节点。回退时,获取栈顶节点,继续前序遍历。其c++实现如下所示:void ...原创 2018-09-04 15:38:22 · 823 阅读 · 0 评论 -
KMP算法在c++中的实现
字符串匹配问题是数据结构与算法这门课中的一个经典问题。在由Cormen与Leiserson合著的《算法导论》一书中,按照由简到繁的顺序推导了字符串匹配问题的四种解法,并最终给出了最经典的解决方案:KMP算法。下面将分别对这四种算法进行总结。1.朴素字符串匹配方法朴素字符串匹配方法是大多数人第一眼能够想到的方法:将目标文本逐字符作为起始字符,判断是否存在与模式匹配的子字符串。如果设目标文本长...原创 2018-08-30 11:33:14 · 593 阅读 · 0 评论