算法

二叉树(树)与森林的相互转换

1.什么是森林森林,顾名思义,就是由众多的树构成的一组数据结构,这些树本身没有什么联系,用系统的语言描述就是:森林:m(>=0)棵互不相交的树的集合【注意这里森林是可以有0颗树的,同数学上的空集】如果把一棵树当作一个独立的点,那么森林就是一个点的集合。

二分答案算法实例讲解

本篇内容讲解二分答案,并通过实例分析和解决问题,在一些解题中,二分答案往往在一个单调闭区间上进行,也就是说,二分答案最后得到的答案应该是一个确定值,而不是像搜索那样出现多解的情况。那么什么时候适用二分答案呢?下面我们详细为大家说说,并且通过练习题讲解,帮助大家学习和应用。

简述Pick定理

什么是皮克定理?1899年,犹太数学家皮克(GeorgAlexanderPick)发现了一个被誉为“有史以来最重要的100个数学定理之一”的“皮克定理”(Pick'sTheorem)。这个定理是这样说的:给定顶点座标均是整点(或正方形格子点)的简单多边形,

set theory(集合论)

1.集合论简介集合论,是数学的一个基本的分支学科,研究对象是一般集合。集合论在数学中占有一个独特的地位,它的基本概念已渗透到数学的所有领域。集合论或集论是研究集合(由一堆抽象物件构成的整体)的数学理论,包含了集合、元素和成员关系等最基本的数学概念。

自动机(确定有限状态自动机)

这里的“自动机”指的是”确定有限状态自动机”。而自动机是信息学奥林匹克竞赛、计算机科学中被广泛使用的一个数学模型,其思想在许多字符串算法中都有涉及,学习自动机有助于理解上述算法,但是学习自动机前一定要先了解基础图论的相关知识,这样才更好理解自动机。

Alpha-Beta剪枝搜索图文讲解

本篇将简要介绍α-β剪枝,这是一种基于剪枝(α-βcut-off)的深度优先搜索(depth-firstsearch)。一、什么是α剪枝?(1)将走棋方定为MAX方,因为它选择着法时总是对其子节点的评估值取极大值,即选择对自己最为有利的着法;(2)将应对方定为MIN方,

斯坦纳树的应用

斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种。最小生成树是在给定的点集和边中寻求最短网络使所有点连通。而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网络开销最小。1.什么是斯坦纳树?斯坦纳树问题是组合优化学科中的一个问题。

什么是哈希表?

很多人说起“哈希表”,就会直接聚焦到hash函数、“散列”、“杂凑”等方向,会使得初学者一头雾水,反而更加不理解什么,下面就会系统的给大家介绍一下什么是“哈希表”。哈希表又称散列表,一种以「key-value」形式存储数据的数据结构。所谓以「key-value」形式存储数据,

什么是动态规划?

谈到动态规划,很多人会疑惑动态规划难吗?说实话很难,特别是对于初学者来说,入门动态规划的时候,举个例子,看0-1背包问题,很容易就被题目弄懵了。就算看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手。对于动态规划,

折半查找(二分查找)介绍与实现

1.算法简介二分查找也称折半查找(BinarySearch),多数的人喜欢叫他二分查找。它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列,注意必须要是有序排列,但有一种特殊情况可以不必须有序排列,