数据结构
文章平均质量分 64
放荡不羁笑点低233
这个作者很懒,什么都没留下…
展开
-
leetcode 第53题 Maximum Subarray:动态规划的活用
题目大意: 给定一个非空的整数数组nums[],要求求得它的一个子数组,使得该子数组所有成员的和是所有子串中最大的。注意:子数组的所有成员位置上必需是左右相邻的。示例: 给出整数数组[-2,1,-3,4,-1,2,1,-5,4],可求得它的子数组[4,-1,2,1]的各位成员和是所有子数组中最大的,为6。解题思路: 刷了近两个月的题,原创 2017-10-14 16:13:42 · 963 阅读 · 0 评论 -
关于二叉树遍历的一些思考
今天在刷leetcode时,挑了二叉树的第一题来做。题目很简单,就是中序遍历二叉树,不过要求是得用循环的方式实现。原创 2017-09-08 15:40:57 · 495 阅读 · 0 评论 -
背包九讲自学手册——第二讲
前两天忙着跑OPNET上的程序,没太多时间看背包九讲。下午的时候抽空看了一下完全背包问题,利用晚上的时间将完全背包问题的两种解决方法用C++写了一下。不过由于缺少测试用例,不保证正确性。#include "stdafx.h"#include <iostream>#include <vector>using namespace std;//完全背包问...原创 2018-03-14 20:37:11 · 205 阅读 · 0 评论 -
几种排序方法在c++中的实现
排序问题是数据结构与算法中一门非常重要的学问,很多的问题的解决都是以排序问题为优先的。我总结了几种常见的排序算法,给出它们在c++下的实现代码,并比较了几种算法的运算效率。1.直接插入排序法直接插入排序的思想是:给出一个已从小到大排好序的数组,插入第i个数据。这时候,需要从后向前比较该数据与当前位置数据的大小,找到插入位置将该数据插入,原来位置上的元素向后顺移。这种算法具体的运行时间与...原创 2018-08-17 11:07:07 · 836 阅读 · 0 评论 -
二叉树的三种遍历方法的非递归实现(c++版)
二叉树的前序遍历、中序遍历与后序遍历一直是面试时的常客。这三种遍历方法都有递归实现与非递归实现两种版本。递归实现只需要根据定义书写即可,而非递归实现则会用到其他的数据结构,相对复杂。本文将这三种遍历方法的非递归实现加以总结,以备不时之需。1.前序遍历前序遍历的非递归版本需要用到一个栈,用以记录当前遍历节点的右子节点。回退时,获取栈顶节点,继续前序遍历。其c++实现如下所示:void ...原创 2018-09-04 15:38:22 · 851 阅读 · 0 评论