01背包问题详解
前面章节中,我们给您介绍了用贪心算法解决部分背包问题,本节我们讲解另一类背包问题——01背包问题。 仍以小偷在商店行窃为例,他随身携带的背包可以装一定重量的商品,商店中摆放着不同重量和...动态规划算法详解
既分治算法和贪心算法之后,本节再给您介绍一种常用的算法——动态规划算法。和分治算法类似,动态规划算法也是先将问题分解成多个规模更小、更容易解决的小问题,通过解决这些小问题,从而找到解决...- 0
- 0
- 0
- 0
- 0
部分背包问题图文详解
背包问题指的是在背包所能承受的重量范围内,将哪些物品装入背包可以获得最大的收益? 图1背包问题 举个例子,一个小偷正在商店行窃,他随身携带的背包可以装一定重量的商品,商店中摆放着不同...- 0
- 0
- 0
- 0
- 0
贪心算法图文详解
贪心算法又称贪婪算法,是所有算法中最简单、最易实现的一种算法。一个问题通常对应有多种算法,每种算法由多个步骤组成。贪心算法解决问题的核心思想是:算法的每一步都选择当前场景中最优的解决...- 0
- 0
- 0
- 0
- 0
汉诺塔问题图文详解
汉诺塔问题是一个经典的数学难题,由3个柱子和多个半径不等的圆盘构成,如下图所示: 图1汉诺塔问题 汉诺塔问题指的是:将一个柱子中的所有圆盘移动到另一个柱子,移动过程需遵守以下规则: 每...- 0
- 1
- 0
- 0
- 0
数组最大值和最小值
继《分治算法》一节后,本节我们尝试用“分而治之”的思想解决“找数组中的最大值和最小值”问题。所谓“找数组中的最大值和最小值”问题,是指在长度为n的数字序列中找到最大的数和最小的数。普通算法 ...- 0
- 0
- 0
- 0
- 0
分治算法图文详解
实际开发中,我们经常会使用一些巧妙的算法解决问题,分治算法就是其中之一。分治算法是指采用分而治之的思想,将一个复杂的问题划分成很多相互独立的小问题,通过逐个解决这些小问题,使整个问题...- 0
- 0
- 0
- 0
- 0
斐波那契数列图文详解
斐波那契数列是指具备如下特征的数列: 前两个数的值分别为0、1或者1、1; 序列中从第3个数字开始,它的值是通过前两个数字相加得到的,即F(n)=F(n-1)+F(n-2)。 例如,下面的数列就是一个斐波那契...- 0
- 0
- 0
- 0
- 0
递归算法图文详解
很多编程语言(比如C、C++、Java、Python等)都支持函数(方法、模块)调用自身,这种解决问题的方法称为递归。以C语言为例,函数调用自身的方式有2种,分别为:1)函数直接调用自身,例如:int funcito...- 0
- 0
- 0
- 0
- 0
算法复杂度(时间复杂度+空间复杂度)
通常情况下,一个问题可能对应有多种解决方案,每种解决方案都是一种算法。因此,我们可能经常需要做一件事:从众多算法中挑选出一个最好的算法。所谓“最好”的算法,即最适合当前场景使用的算法。不...- 0
- 0
- 0
- 0
- 0
算法是什么
“算法”一词最早出现在《周髀算经》这本书中,对应的英文单词是“algorism”(由9世纪的波斯数学家阿尔·霍瓦里兹米提出),代指阿拉伯数字的运算规则。随着计算机的快速发展,“算法”被赋予了新的含义,代...- 0
- 0
- 0
- 0
- 0
移动操作系统有哪些
《操作系统是什么》一节讲到,操作系统是一款计算机软件,而且是一款系统软件。操作系统在用户和计算机硬件之间扮演着中介(或中间人)的角色,它负责管理计算机所有的硬件资源,同时为计算机用户提供...- 0
- 0
- 0
- 0
- 0
操作系统的安全性
除了进程管理、内存管理、文件管理、设备管理外,操作系统还负责保护计算机资源,我们通常将操作系统的保护功能称为保护系统。计算机资源主要分为两大类,硬件资源(如CPU、硬盘、内存等)和软件资源(包...- 0
- 0
- 0
- 0
- 0
操作系统的设备管理
除了 CPU资源管理、内存管理、文件管理外,操作系统还有一个重要的功能,就是管理连接到计算机的所有输入输出设备(简称I/O设备),包括鼠标、键盘、显示器、打印机、硬盘、USB设备等等。如同将操作...- 0
- 0
- 0
- 0
- 0
操作系统的文件管理
《操作系统是什么》一节讲过,操作系统是一款计算机系统软件,它具备很多功能,比如前面讲过的进程管理、CPU资源管理。本节,我们将带领您了解操作系统的文件管理功能,包括什么是文件、文件类型、文件...- 0
- 0
- 0
- 0
- 0
虚拟存储器是什么
《内存管理》一节,给大家介绍了操作系统的两种内存分配方式,分别为连续分配方式和离散分配方式: 连续分配:给程序分配一整块连续、完整的内存空间; 离散分配:将程序分成若干页或者若干段,然后分...- 0
- 0
- 0
- 0
- 0
操作系统的内存管理
根据CPU能否直接访问,计算机中的存储器可以分为两类,即内部存储器(简称内存)和外部存储器(简称外存),内存还可以细分为寄存器、高速缓存和主存。日常生活中,我们所说的内存指的仅是主存,本文也...- 0
- 0
- 0
- 0
- 0
线程是什么
《进程是什么》一节讲到,为了提高CPU的利用率,便于分配和回收计算机软、硬件资源,多任务操作系统引入了“进程”这个概念。多任务操作系统中,执行的每个任务(程序)都是一个进程。借助进程调度程序,操...- 0
- 0
- 0
- 0
- 0
进程调度算法有哪些
《进程调度是什么》一节讲到在多任务操作系统中,整个进程调度机制可能包含3种进程调度程序,分别是长期调度程序、短期调度程序和中期调度程序。根据指定的调度策略(算法),长期调度程序可以从用户...- 0
- 0
- 0
- 0
- 0