![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构常见算法原理讲解
文章平均质量分 88
计算机入门算法基础及提升
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
普通网友
这个作者很懒,什么都没留下…
展开
-
从C语言的角度重构数据结构系列(六)-C语言的数据类型及常变量
前言在这里给自己打个广告,需要的小伙伴请自行订阅。python快速学习实战应用系列课程https://blog.csdn.net/wenyusuran/category_2239261.html手把手教你ML机器学习算法源码全解析https://blog.csdn.net/wenyusuran/category_2239263.html1.C数据类型在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的.原创 2021-04-17 06:23:53 · 1196 阅读 · 0 评论 -
从C语言的角度重构数据结构系列(十三)-位运算
位运算简介位运算位运算就是基于整数的二进制表示进行的运算。由于计算机内部就是以二进制来存储数据,位运算是相当快的。基本的位运算共6 种,分别为按位与、按位或、按位异或、按位取反、左移和右移。运算 运算符 数学符号表示 解释 与 & &、and 只有两个对应位都为 1 时才为1 或 | |、or 只要两个对应位中有一个1 时就为1 异或 ^ 、xor 只有两个对应位不同时才为1 左移..原创 2022-03-30 05:00:00 · 986 阅读 · 0 评论 -
从C语言的角度重构数据结构系列(八)-数据结构堆知识超级丑数
前言在这里给自己打个广告,需要的小伙伴请自行订阅。python快速学习实战应用系列课程https://blog.csdn.net/wenyusuran/category_2239261.html手把手教你ML机器学习算法源码全解析https://blog.csdn.net/wenyusuran/category_2239263.html题目编写一段程序来查找第 n 个超级丑数。超级丑数是指其所有质因数都是长度为 k 的质数列表 primes 中的正整数。示例:输入:原创 2021-04-18 07:07:22 · 1352 阅读 · 0 评论 -
从C语言的角度重构数据结构系列(四)-静态链表&动态链表
前言是否存在一种存储结构,可以融合顺序表和链表各自的优点,从而既能快速访问元素,又能快速增加或删除数据元素。在这里给自己打个广告,需要的小伙伴请自行订阅。python快速学习实战应用系列课程https://blog.csdn.net/wenyusuran/category_2239261.html手把手教你ML机器学习算法源码全解析https://blog.csdn.net/wenyusuran/category_2239263.html1.静态链表及其创建静态链表,也是线性原创 2021-04-13 09:27:54 · 1033 阅读 · 0 评论 -
从C语言的角度重构数据结构系列(二)-如何衡量一个算法的优劣?
前言在学习具体的数据结构和算法之前,每一位初学者都要掌握一个技能,即善于运用时间复杂度和空间复杂度来衡量一个算法的运行效率。在这里给自己打个广告,需要的小伙伴请自行订阅。python快速学习实战应用系列课程https://blog.csdn.net/wenyusuran/category_2239261.html手把手教你ML机器学习算法源码全解析https://blog.csdn.net/wenyusuran/category_2239263.html所谓算法,即解决问题的方法原创 2021-04-10 06:34:48 · 1309 阅读 · 0 评论 -
从C语言的角度重构数据结构系列(七)-数据结构堆知识求解数据流中的第K大元素
前言在这里给自己打个广告,需要的小伙伴请自行订阅。python快速学习实战应用系列课程https://blog.csdn.net/wenyusuran/category_2239261.html手把手教你ML机器学习算法源码全解析https://blog.csdn.net/wenyusuran/category_2239263.html题目数据流中的第K大元素难度:简单设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。你原创 2021-04-18 07:07:04 · 1033 阅读 · 0 评论 -
C语言的使用技巧
C语言常常让人觉得它所能表达的东西非常有限。它不具有类似第一级函数和模式匹配这样的高级功能。但是C非常简单,并且仍然有一些非常有用的语法技巧和功能,只是没有多少人知道罢了。指定的初始化很多人都知道像这样来静态地初始化数组:1intfibs[] = {1, 1, 2, 3, 5};C99标准实原创 2014-10-29 10:28:42 · 1411 阅读 · 4 评论 -
从C语言的角度重构数据结构系列(一)-数据结构入门之逻辑结构与物理结构
前言数据结构,直白地理解,就是研究数据的存储方式。我们知道,数据存储只有一个目的,即为了方便后期对数据的再利用,就如同我们使用数组存储{1,2,3,4,5}是为了后期取得它们的加和值,无缘由的数据存储行为是对存储空间的不负责任。因此,数据在计算机存储空间的存放,决不是胡乱的,这就要求我们选择一种好的方式来存储数据,而这也是数据结构的核心内容。1.什么是数据结构?一直以来大家面对的数据存储,都是类似存储 1、2、{a,b,c}、"http://data.biancheng.net" 这样..原创 2021-04-09 09:07:38 · 1333 阅读 · 0 评论 -
从C语言的角度重构数据结构系列(五)-C语言的程序结构和基本语法
前言在这里给自己打个广告,需要的小伙伴请自行订阅。python快速学习实战应用系列课程https://blog.csdn.net/wenyusuran/category_2239261.html手把手教你ML机器学习算法源码全解析https://blog.csdn.net/wenyusuran/category_2239263.html1.C 程序结构1.1Hello world实例C 程序主要包括以下部分:预处理器指令 函数 变量 语句 & 表达式 注释原创 2021-04-17 06:15:54 · 1058 阅读 · 0 评论 -
从C语言的角度重构数据结构系列(九)-数据结构哈希表分糖果
前言在这里给自己打个广告,需要的小伙伴请自行订阅。python快速学习实战应用系列课程https://blog.csdn.net/wenyusuran/category_2239261.html手把手教你ML机器学习算法源码全解析https://blog.csdn.net/wenyusuran/category_2239263.html题目给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获原创 2021-04-21 10:31:14 · 1011 阅读 · 0 评论 -
从C语言的角度重构数据结构系列(十二)-C语言判断语法详解(if&switch)
前言在这里给自己打个广告,需要的小伙伴请自行订阅。python快速学习实战应用系列课程https://blog.csdn.net/wenyusuran/category_2239261.html手把手教你ML机器学习算法源码全解析https://blog.csdn.net/wenyusuran/category_2239263.html1. 判断判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。C.原创 2021-04-28 08:39:47 · 1007 阅读 · 0 评论 -
从C语言的角度重构数据结构系列(三)- 顺序存储结构和链式存储结构之顺序表
前言在学习具体的数据结构和算法之前,每一位初学者都要掌握一个技能,即善于运用时间复杂度和空间复杂度来衡量一个算法的运行效率。在这里给自己打个广告,需要的小伙伴请自行订阅。python快速学习实战应用系列课程https://blog.csdn.net/wenyusuran/category_2239261.html手把手教你ML机器学习算法源码全解析https://blog.csdn.net/wenyusuran/category_2239263.html1.什么是线性表?具有原创 2021-04-12 06:43:45 · 1009 阅读 · 0 评论 -
算法解密:电梯是如何实现上下调度的?
1.传统电梯调度算法1.1先来先服务算法(FCFS)先来先服务(FCFS-First Come First Serve)算法,是一种随即服务算法,它不仅仅没有对寻找楼层进行优化,也没有实时性的特征,它是一种最简单的电梯调度算法。它根据乘客请求乘坐电梯的先后次序进行调度。此算法的优点是公平、简单,且每个乘客的请求都能依次地得到处理,不会出现某一乘客的请求长期得不到满足的情况[12]。这种方法在载荷较轻松的环境下,性能尚可接受,但是在载荷较大的情况下,这种算法的性能就会严重下降,甚至原创 2021-09-29 04:00:00 · 1796 阅读 · 0 评论 -
日常使用的二维码知多少,从数学的角度对二维码图案进行解析
什么是二维码二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人一同学习之。关于QR Code Specification,可参看这个PDF:http://raidenii.net/files/datasheets/misc..原创 2021-02-20 09:10:18 · 3652 阅读 · 0 评论 -
天天在谈大数据,那你知道统计与大数据专业究竟都学些什么东西吗?
统计学是一门关于数据分析的学科,用于测量,收集,整理,归纳和分析数据的真实情况和估算情况。统计学从 17 世纪的中期逐渐发展起来,不仅存在于概率与数理统计领域,还广泛应用在各种自然学科,社会科学和人文科学上,也会被用于各种团队,企业和国家的决策。随着大数据时代的到来,统计学也与计算机,信息学等领域紧密结合,是数学科学的有力工具之一。正态分布描述统计学(descriptive statistics)又称为叙述统计,是统计学中用于描述和总结所观察到对象的基本统计信息的一门学科。描述统计的..原创 2020-12-20 10:07:10 · 1887 阅读 · 0 评论 -
运筹学最优化理论系列概念-单纯形法原理解析
小编以前学习单纯形法的时候只会套用公式求解问题,但一直没有深入理解单纯形法的几何解释究竟是什么,因此小编在知乎上找到一个很好的回答:线性规划的单纯形法的几何解释是什么? - 滴水的回答 - 知乎https://www.zhihu.com/question/24034254/answer/53391676很显然,用单纯形法求解线性规划问题,我们首先需要明白线性规划问题的可行域的边界实际上都是直线或者是平面,因此借用这位大神说的一句话“单纯形就是很多超平面围成的区域”,(超平面就是不止二维的线性空间原创 2020-12-16 08:37:56 · 2491 阅读 · 0 评论 -
一文深度解析线性表的前世今生!!!
线性表线性表的定义:由零个或多个数据元素组成的有限序列注意: 首先它是一个序列,也就是说元素之间是有先来后到之分。 若元素存在多个,则第一个元素无前驱,而最后一个元素无后继,其他元素都有且只有一个前驱和后继。 线性表强调是有限的,事实上无论计算机发展到多强大,他所能处理的元素都是有限的。 线性表的形式化定义:模拟考题: 请问公司的组织架构是否属于线性关系? 分析:一般公司的总经理管理几个总监,每个总监管理几个经理,每个经理都有各自的下属和员工。原创 2020-12-05 09:09:42 · 1069 阅读 · 0 评论 -
从无到有算法养成篇-利⽤栈思想解决问题
一、什么时候用到栈思想?栈的思想应⽤数据是线性的,问题可以利⽤栈的特性先进后出去解决问题!二:思想实战1.括号匹配检验:假设表达式中允许包含两种括号:圆括号与⽅括号,其嵌套顺序随意,即() 或者[([][])]都是正确的.⽽这[(]或者(()])或者([()) 都是不正确的格式. 检验括号是否匹配的⽅法可⽤”期待的急迫程度"这个概念来描述.例如,考虑以下括号的判断: [ ( [ ] [ ] ) ]思路:s1:遍历data,遍历内做s2、s4、s5操作,遍历完进行s6操作;s2:取.原创 2020-10-16 08:33:20 · 1004 阅读 · 0 评论 -
从无到有算法养成篇-链式存储结构之循环链表
循环,顾名思义就是:绕。打个比方,就是从前山上有座庙,庙里有个老和尚和一个小和尚,有一天老和尚对小和尚说“从前山上有座庙,庙里有个老和尚和一个小和尚,有一天老和尚对小和尚说“从前~~对于单链表,由于每个结点只存储了向后的指针,到了尾部标识就停止了向后链的操作。也就是说,按照这样的方式,只能索引后继结点不能索引前驱结点。这样一来,不从头结点出发,这样就无法访问到全部结点。为了解决这个问题,我们只需要将单链表的尾结点的指针由空指针改为指向头结点的指针,问题就结了。将单链表中尾结点的指针由空指针改原创 2021-05-18 08:47:42 · 1004 阅读 · 2 评论 -
数据结构与算法基础知识集锦
程序设计 = 数据结构 + 算法数据结构分为逻辑结构与物理结构逻辑结构:是指数据对象中数据元素之间的相互关系;物理结构:是指数据的逻辑结构在计算机中的存储形式。逻辑结构可以分为:集合结构、线性结构、树形结构、图形结构。数据元素的存储形式有两种:顺序存储和链式存储顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以连续,也可以是不连续的。算法:比如计算1+2+...+9原创 2020-11-17 10:00:48 · 1021 阅读 · 0 评论 -
Linux从入门到精通系列之线性表链式存储结构-单链表原理解析
线性表的链式存储结构的特点就是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以在内存中未被占用的任意位置。比起顺序存储结构每个元素只需要存储一个位置就可以了。现在链式存储结构中,除了要存储数据信息外,还要存储它的后继元素的存储地址(指针)。也就是说除了存储其本身的信息外,还需要存储一个指示其直接后继的存储位置的信息。来几个概念:把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。指针域中存储的信息称为指针或链。这两部分信息组成数据元素称为存储映像,称为结点(Node).原创 2021-02-21 08:28:06 · 1025 阅读 · 0 评论 -
数据结构常见算法原理讲解100篇(一)-递归和分治算法原理及案例应用
01.递归每谈到递归,我们总会免不了联系到斐波那契(Fibonacci)数列,当然也不可忽视,斐波那契数列确实是一个很好的例子。但在现实当中,我们只有在迫不得已的情况下才使用递归,因为递归本身的效率并不理想,但他的思想却值得我们留存在记忆之中。题目一:写一个函数,输入n,求斐波那契数列的第n项。我们先一起看一下该题目的递归实现,从而学会写递归的三要素://第一要素:明确你这个函数想要干什么//函数功能:计算斐波那契数列的第n项longlongFibonacci(unsi...原创 2021-03-14 07:53:33 · 1202 阅读 · 1 评论 -
从无到有算法养成篇:一文读懂有关Tree的前世今生
对于大量的输入数据,链表的访问时间太长,不宜使用。而树刚好就是一种极大地缩短访问时间的数据结构,其平均访问时间复杂度为O(logN)。鉴于有些朋友并不仅仅是因为提高自己的编程能力来学习数据结构,所以我们先来唠叨一些有关于树的基本概念和考点。01.树的基本概念树(Tree)是n(n>=0)个结点的有限集。当n=0时成为空树,在任意一棵非空树中: 有且仅有一个特定的称为根(Root)的结点; 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、..原创 2021-06-06 06:43:17 · 1054 阅读 · 3 评论 -
从无到有算法养成篇-栈和队列·队列
一、队列的定义队列是啥?数据从表的一端进,从另一端出,且遵循 "先进先出" 原则的线性存储结构就是队列。队列的两个基本操作:入队将一个数据放到队列尾部;出队从队列的头部取出一个元素。队列的应用:循环队列、阻塞队列、并发队列、优先级队列等。栈和队列不要混淆,栈结构是一端封口,特点是"先进后出";而队列的两端全是开口,特点是"先进先出"。队列存储结构的实现有以下两种方式:顺序队列:在顺序表的基础上实现的队列结构; 链队列:在链表的基础上实现的队列结构;两者的区别仅是顺序表和链表原创 2020-08-02 08:35:58 · 1039 阅读 · 0 评论 -
从无到有算法养成篇-栈和队列·栈
一、栈结构示意图二、栈的常规操作1.定义一个栈结构/* 顺序栈结构 */typedef struct{ SElemType data[MAXSIZE]; int top; /* 用于栈顶指针 */}SqStack2.构建一个空栈Status InitStack(SqStack *S){ S->top = -1; return 1;}3.将栈置空Status ClearStack(SqStack ...原创 2020-08-05 08:52:41 · 1005 阅读 · 0 评论 -
从无到有算法养成篇-线性表实战篇
实战一:题⽬1 将2个递增的有序链表合并为⼀个有序链表; 要求结果链表仍然使⽤两个链表的存储 空间,不另外占⽤其他的存储空间. 表中不允许有重复的数据例如:La {1,2,3} , Lb {3, 6,9}Lc {1, 2, 3, 6, 9}1、递增有序链表代表:插入适合后插,前插会倒序;2、表中不允许有重复的数据:合并各表前无重复数据,合并后也无重复数据,需要进行删除操作;3、不另外占⽤其他的存储空间:无须建立新链表。1、定义4个指针,Pa 和 Pb 分别是La,Lb的工作..原创 2020-08-01 08:51:08 · 1013 阅读 · 0 评论 -
从无到有算法养成篇-双向链表与双向循环链表
一、双向链表1、定义:从下图中的定义结点的代码我们能发现,双向与单向最明显的区别就是是否可以反向查找上一结点。定义2、创建:大致和单向的创建差不多,区别在于多了prior的处理步骤:1、*L 指向头结点2、新增数据:2.1.创建1个临时的结点2.2.为新增的结点建立双向链表关系① temp 是p的后继② temp 的前驱是p③ p 要记录最后的结点的位置,方便下一次插入创建新链表3、插入:步骤:1. 插入的位置不合法 为0或者为负数2.原创 2020-10-19 07:33:46 · 1005 阅读 · 0 评论 -
从无到有算法养成篇-单向循环链表的常规操作
1、单向循环链表的创建创建tips:由于存在两种情况:① 第一次开始创建;②已经创建,往里面新增数据所以需要判断是否第一次创建链表 YES->创建一个新结点,并使得新结点的next 指向自身; (*L)->next = (*L); NO-> 找链表尾结点,将尾结点的next = 新结点. 新结点的next = (*L);2、单向循环链表的遍历遍历tips:循环链表的遍历最好用do while语句,因为头节点就有值3、单向循环...原创 2020-08-03 09:49:46 · 1055 阅读 · 0 评论 -
从无到有算法养成篇-线性表历练
一、线性表定义及特色满足数据元素不同,但是在同一个线性表中的元素必定具有相同的特点,即属于同一数据对象, 相邻数据元素之间存在这个序偶关系. 诸如此类由(n>=0)个数据特性相同的元素构成的有限序列称为"线性表".线性表中的元素的个数n定义为线性表的长度,如果n = 0则称为空表.对于非空的线性表和线性结构,其特点如下:存在唯一的一个被称作"第一个"的数据元素存在唯一的一个呗称作"最后一个"的数据元素除了第一个之外,结构中的每个数据元素均有一个前驱除了最后一个之外,结构中的原创 2020-08-04 08:38:54 · 974 阅读 · 0 评论 -
从无到有算法养成篇-算法基础常识
一、基础知识1、数据结构常用术语:1.1数据结构中的五个基本概念:数据<-数据对象<-数据元素<-数据项数据结构1.2名词解析:•数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型;可以输入到计算机中;能被计算机程序处理;• 数据对象: 性质相同的数据元素的集合(数据的子集)• 数据元素: 数据的基本单位,且有一定意义的基本单.原创 2020-08-06 09:17:22 · 1036 阅读 · 0 评论 -
数据结构面试的常客,一文带你深入了解堆
和链表、二叉树以及数组这些热门的数据结构相比,堆相对比较冷门。如果你对数据结构了解不深的话,可能很少听说。但是我们经常用到它,虽然可能你并不一定能感知到。比如说优先队列,我们就经常使用。我们需要用到这样一个数据结构,能够根据我们存入数据的优先级进行排序,将优先级高的排在前面。在和调度相关的一些系统和算法当中,优先队列是必然会用到的。但是很少有人知道,优先队列说是一个队列,但其实是通过堆实现的。那么堆究竟是一个怎样的数据结构呢?堆的定义堆的实质其实是二叉树,并且还不是一般的二叉树,而是比较特别的二原创 2020-06-30 09:52:17 · 1087 阅读 · 0 评论 -
数据结构-图论
本章中介绍下列主要内容: 1.图的定义 2.图的存储结构 3.图的遍历操作 4.图的几个典型应用问题课时分配: 1、2两个学时,3两个学时,4四个学时,上机两个学时重点、难点: 图的遍历操作、典型应用问题 第一节图的定义 1.定义 图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加原创 2014-07-31 10:12:56 · 1857 阅读 · 0 评论 -
Trie树
很有段时间没写此系列了,今天我们来说Trie树,Trie树的名字有很多,比如字典树,前缀树等等。一:概念 下面我们有and,as,at,cn,com这些关键词,那么如何构建trie树呢?从上面的图中,我们或多或少的可以发现一些好玩的特性。 第一:根节点不包含字符,除根节点外的每一个子节点都包含一个字符。 第二:从根节点到某一节点,路径上经过的字符原创 2014-07-14 09:39:05 · 1468 阅读 · 0 评论 -
Top K算法问题的实现
在上一篇文章,程序员面试题狂想曲:第三章、寻找最小的k个数中,后来为了论证类似快速排序中partition的方法在最坏情况下,能在O(N)的时间复杂度内找到最小的k个数,而前前后后updated了10余次。所谓功夫不负苦心人,终于得到了一个想要的结果。 简单总结如下(详情,请参考原文第三章): 1、RANDOMIZED-SELECT,以序列中随机选取一个元素作为主元,可达到线性期望时间O(N)的复原创 2014-07-14 10:37:23 · 2090 阅读 · 0 评论 -
【数值分析】迭代法解方程:牛顿迭代法、Jacobi迭代法
本科课程参见:《软件学院那些课》牛顿迭代公式设已知方程f(x)=0的近似根x0 ,则在x0附近f(x)可用一阶泰勒多项式近似代替.因此, 方程f(x)=0可近似地表示为p(x)=0。用x1表示p(x)=0的根,它与f(x)=0的根差异不大. 设 ,由于x1满足解得重复这一过程,得到迭代公式: 这就是著名的牛顿迭代公式,它相应的不动点方程为Jacobi原创 2014-08-19 16:06:25 · 1732 阅读 · 0 评论 -
【数值分析】常微分方程数值解:欧拉公式
本科课程参见:《软件学院那些课》算法原理对于常微分方程初值问题在求解区间[a,b]上作等距分割的剖分,步长,记。用数值微商的方法,即用差商近似微商数值求解常微分方程。用向前差商近似做出y(x)的在x=x0处的一阶向前差商式: 又,于是得到而y(x1)的近似值y1可按 或 求得。类似地,由 以及 得到计算近似原创 2014-08-19 16:07:37 · 4112 阅读 · 0 评论 -
【数值分析】微分求积:复化梯形、复化辛浦生
本科课程参见:《软件学院那些课》复化梯形将积分区间[a,b]划分n等分,步长,求积节点,在每个小区间上应用梯形公式然后将它们累加求和,作为所求积分I的近似值.记 式为复化梯形求积公式,下标n表示将区间n等分。算法流程 算法代码[cpp] view plaincopydouble f(double x){原创 2014-08-19 16:08:27 · 2780 阅读 · 0 评论 -
【数值分析】插值法:拉格朗日插值、牛顿插值
本科课程参见:《软件学院那些课》拉格朗日插值法(*以下定义选自维基百科)算法流程图算法代码[cpp] view plaincopy#include #include #include using namespace std; double Lagrange(int N,vectordouble>&X,vectordoubl原创 2014-08-19 16:08:18 · 3908 阅读 · 0 评论 -
【算法设计】虎溪校园导游系统
本科课程参见:《软件学院那些课》问题描述设计一个校园导游程序, 为来访的客人提供信息查询服务。基本要求(1)设计学校的校园平面图,所含景点不少于10个,以图中顶点表示校内各景点,存放景点名称、代号、简介等信息,以边表示路径,存放路径长度等相关信息。(2)为来访客人提供图中任意景点相关信息的查询;(3)为来访客人提供从校门口到图中任意景点的问路查询;算法思想图的表原创 2014-08-19 16:02:32 · 2098 阅读 · 0 评论 -
背包问题
研究生课程系列文章参见索引《在信科的那些课》题目一个旅行者准备随身携带一个背包,可以放入背包的物品有n种,每种物品的重量和价值分别为wj, vj . 如果背包的最大重量限制是b, 怎样选择放入背包的物品以使得背包的价值最大?目标函数:约束条件:算法设计设Fk(y) 表示只允许装前k 种物品,背包总重不超过y 时背包的最大价值。原创 2014-08-19 16:11:47 · 1793 阅读 · 0 评论