自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 内点法的发展

内点法是为了解决单纯形法非多项式时间复杂度问题而产生的。单纯性法是解决线性规划问题而产生的,有理论证明,凸规化问题的时间复杂度都是多项式,然而线性规划问题是一种特殊的凸规化问题,所以线性规划问题也是多项式的时间复杂度,然而真实求解的时候,我们发现单纯形法的时间复杂度要比多项式高,所以就发展了许多其他算法来减少时间复杂度,内点法就是其中的一种多项式的时间算法,用于解决线性规划问题。请注意,内点法是1984年Karmarkar提出来的,也是目前人们用的最多的求解大规划的线性规划问题的算法, 内点法简称为

2021-11-30 10:34:30 671

原创 动态规划问题

动态规划问题的思想精髓在于大事化小,小事化了。从最后的节点出发,推测是什么情况引起最后的结果,以此类推,长成一个类似树状的结构,越来越多,我们相当于在这些可能性中找一个最好的解作为我们优化问题的最优解。...

2021-11-30 10:26:29 99

原创 优化问题的分类

第一个是线性规划问题与非线性规划问题,这里指的是目标函数以及约束条件都是线性函数,在可行解上(满足约束条件)是一个多边形,目标函数可以理解成一个斜面,好比是一个多边形的柱子,我用刀锋利的切了一刀。另一种分类方式是凸规划与非凸规划问题,需要满足如果每一条约束以及目标函数都满足上面的不等式,就把该优化问题称为凸规划问题,反之,则称为非凸规划问题。现在人们慢慢发现用线性规划与非线性规划区分不是很合理,我们发现用凸规化和非凸规划问题区分问题的难易程度比较合理,所以将二三十年前的线性规划与非线性规划的

2021-11-29 16:13:07 1736

原创 顺序和链式线性储存方式

线性表不仅可以顺序存储,也可以链式储存,和顺序储存不一样的是,链式储存是一种地址不连续的储存方式,其本质在于储存的时候我储存两个东西,一个是储存的元素,另一个是下一个元素的地址,数据的逻辑关系是用地址来储存。我们管这两部分信息叫做结点那么为什么要有顺序存储和链式存储呢?有什么专门的优势吗?顺序储存由于地址是连续的,所以储存的时候我们很容易知道顺序存储元素的位置,从而再O(1)的复杂度上查找到相应的元素,但是其缺点是删除与增添元素,需要将修改元素后面的所有元素修改位置,后向后移一个单位或者都向前移..

2021-11-29 15:55:24 797

原创 线性表的链式表示和实现

线性表不仅可以顺序存储,也可以链式储存,和顺序储存不一样的是,链式储存是一种地址不连续的储存方式,其本质在于储存的时候我储存两个东西,一个是储存的元素,另一个是下一个元素的地址,数据的逻辑关系是用地址来储存。我们管这两部分信息叫做结点那么为什么要有顺序存储和链式存储呢?有什么专门的优势吗?顺序储存由于地址是连续的,所以储存的时候我们很容易知道顺序存储元素的位置,从而再O(1)的复杂度上查找到相应的元素,但是其缺点是删除与增添元素,需要将修改元素后面的所有元素修改位置,后向后移一个单位或者都向前移..

2021-11-28 21:39:29 351

原创 线性表的储存结构

线性表是一种顺序的储存结构,也就是说储存的方式是一种地址连续的储存方式,这样我储存东西的时候,我只要知道第一个元素的地址就行了,我就不用挨个储存,因为线性表中的每一个元素本质上储存的位置都已经确定了,所以我随机存取就可以实现了。这个意思就好比说是给你一个豌豆夹,你到底什么时候吃豌豆夹子的哪一个豌豆一点都不重要。...

2021-11-26 18:43:14 377

原创 复杂度的理解

复杂度是用来感性的定量化算法的计算效率的方法,复杂度分为时间复杂度以及空间的复杂度。我以前一直在怀疑复杂度的定义,比如说两个矩阵相乘,假设两个矩阵的规模都是n阶方阵,那么需要计算n的立方次数乘法,所以就是复杂度是O(n^3),后来仔细思考,其实里面是有很多加法的操作,那么为什么不把加法的操作算进去呢?换句话说,凭什么就光光算乘法的次数?我在读数据结构这部书的时候终于明白了,实际上我的理解是对的,我们一般考虑计算复杂度的时候,是以一个基本操作作为前提,来计算该基本操作的执行次数,当作是计算的时间复杂度,

2021-11-24 16:31:40 495

原创 算法的设计要求

什么算法是好算法?1 正确性,对于一些刁钻的输入,输出结果也要保证对2 可读性,一个算法不能不可读,否则调试起来困难。3 鲁棒性, 一个算法必须要对一些非法的输入进行处理,而不能输入了非法的输入,仍然输出结果4 效率以及存储空间:一个好的算法效率要高,储存空间要尽可能的小。当然这是针对固体问题来说的。...

2021-11-24 16:21:40 1683

原创 算法的性质

算法是对特定问题求解步骤的一种描述,往往具有下面几条i性质,首先1.有穷性,一个算法不能永远算不完2 确定性,一个算法的结果必须保证同一个输出,输出永远一致,当然这里,我们是不考虑随机变量的建模方式。3 可行性,算法中的所有步骤必须说明清楚,不能含有没有定义的操作4 输入5 输出...

2021-11-24 15:39:43 3546

原创 程序是什么

我之前听过很多人说程序的本质是数据结构加上算法,后来,我听我室友说了一个新的观点,我觉得很有意思也很有道理,他说在很早的时候,程序是面向过程的,也就是说我们实现一个功能的时候,我们是编写了很多函数以及数据对象,这和我最开始用的matlab很类似,当然matlab也有面向对象的编程。后来,我接触了C++之后,发现C++是面向对象的,我一开始对面向对象这件事情很不理解,为什么要这么做?面向过程不好吗?当我做一件事情不明白其意义的时候,我便很难用心学他,后来,在实际的科研过程中,我慢慢明白了面向对象的好处,比如继

2021-11-24 14:56:49 103

原创 数据结构中的概念

数据结构在计算机中的表示成为数据的物理结构,这个物理结构很容易使人疑惑,我们可以理解数据是储存在计算机的硬件中,当然硬件可以储存许多不同的数据,可以删除之后重新储存新的,那么这个物理结构的本质是静态的。一个数据通过许许多多的01位进行表述,一个数据元素(对象)的01表示称为节点或者元素,当然我们知道数据元素是由许多不可分割的数据项组成,那么数据项所对应的01位串称为数据域。所以我们可以认为节点和元素是数据元素的某种表现形式,具体是在计算机中的表现形式。数据元素之间是有相对的关系的,这种相对关系在计算

2021-11-24 14:28:54 336

原创 数据结构的基本概念以及术语

数据:数据是对客观事物的符号表示,这个描述与数学中的符号基本一致,我们数学中很多的元素本身为了考虑实际的客观事物的客观实在性,同时为了方便表示,我们将一些事物用符号进行了表述数据元素: 是数据的基本单位,这个基本单位并不是指的是最小,而是说一个对象,比如class中的对象有很多属性,虽然对象是一个实例,但是对象有许多许多的属性,我们一般说数据项是数据元素中最小的一个单位,是不可分割的最小单位。数据对象: 是性质相同的数据元素的集合数据结构: 分为四种,即是集合加结构。1. 集合中的元素属

2021-11-23 23:03:30 242

原创 数据结构的处理对象

数据结构是一门研究非数值计算的学科。非数值计算指的是一些表,树以及图。与数值计算相比(比如PDE以及微积分),非数值计算给我的感觉是一种关系更加注重离散以及离散对象的关系。...

2021-11-23 22:01:45 336

原创 单元测试的重要性

写代码实现基本功能很容易,但是我们往往不知道自己写的对不对,所以我们经常要使用单元测试来使得代码通过试验,这时候,如果我们替换一下顺序,先进行单元测试案例,再写解决问题的函数,这么做,面试官会对我们刮目相看。...

2021-11-23 21:57:28 55

原创 面试不要害怕问面试官问题

如果没有听清楚面试官的问题,不要害怕问面试官,直到把问题问清楚了以后再回答,千万不要答非所问,这是面试的大忌。如果再面试外企,一定要学会说pardon,不懂就不懂! 不要不懂装懂!...

2021-11-23 20:38:44 255

原创 学习Leecode,《剑指offer》

剑指offer编程

2021-11-23 20:14:30 283

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除