数据结构与算法
文章平均质量分 82
csdnLeoMa
这个作者很懒,什么都没留下…
展开
-
Reverse Singly LinkedList的方法探讨
今天在做LeetCode的一道Reverse Singly LinkedList题时,从discuss中汲取了不少经验,写文一篇做为总结和思考。1.三个pointer迭代的常规方法如图1所示,给出一个链表,现在我们要做的是把它翻转过来使得最终变为5->4->3->2->1的形式。最自然的想法是我们将每一个正在访问的结点(记为current)的next指针原创 2017-06-10 22:14:19 · 445 阅读 · 0 评论 -
线性数据结构——线性表
数据结构数据结构可以用一个二元组来定义,DataStructure = (D,S)。其中D是数据元素的有限集,S是D上关系的集合。这里的关系代表着数据元素之间的逻辑关系,即逻辑结构,通常指集合、线性表、树、图四种结构。另一方面,某种数据结构在计算机中的具体排列情况又称为物理结构,分为顺序存储结构和链式存储结构。任何逻辑结构都只能由这两种物理结构来实现,选择不同的物理结构得到的性能和优点也各不相...原创 2018-09-12 11:15:56 · 287 阅读 · 0 评论 -
分治算法中的数学——求解递归式(代入法)
前言 在运用分治法将原问题分解成多个子问题后,通常可以得到一个关于时间复杂度的递归式,如T(n)=T(n/2)+O(1),如何求解递归式并得出该算法的时间复杂度O(f(n))就是我们要解决的问题。一般来说,有三种方法可以供我们选择,代入法、递归树法和公式法(即《算法导论》中所描述的主方法)。下面先从代入法开始讲起。代入法一、基本步骤猜测解的形式, 运用第二类数学归纳法...原创 2018-09-11 11:23:35 · 4101 阅读 · 0 评论 -
动态规划(Dynamic Programming)之切割钢条问题(rod cutting problem)
@[TOC](动态规划(Dynamic Programming)之切割钢条问题(cut rod problem))问题描述Seriling公司购买长钢条,将其切割为短钢条出售。切割工序本身没有成本支出。公司管理层希望知道最佳的切割方案。假定我们知道Serling公司出售一段长为iii英寸的钢条的价格为pip_ipi(i=1,2,...,i=1, 2, ... ,i=1,2,...,单位为美...原创 2019-09-03 18:01:00 · 794 阅读 · 0 评论 -
动态规划之01背包问题
问题描述01背包问题是所有类型的背包问题中最基础的一种,它是这样描述的:有一个可装下重量为capacitycapacitycapacity的背包,和一堆重量和价值已经给出的物品,分别由w1,w2,...wnw_1, w_2, ... w_nw1,w2,...wn和v1,v2,...,vnv_1, v_2, ... , v_nv1,v2,...,vn表示。求解的目标是在背包可承受重量内...原创 2019-09-04 18:43:24 · 348 阅读 · 0 评论