算法

二叉树的存储(C语言实现)

二叉树存储1.简介根据前文的介绍,我们知道了二叉树的性值,其就是一种每一个结点中只允许拥有左右孩子(或为空)的树,这种数据结构在我们的实际设计中非常常用,如前文提到的STL中的set集合,其底层就是一颗标准的红黑树(二叉树的一种),我们这里以创建一颗二叉树并实现通过特定的插入顺序和读取顺序达成读取为顺

数位DP概念和实例讲解

说到数位DP,它主要是用于处理一些与数位有关的问题,主要是计数问题。并且数位DP一直以来是DP家族里比较冷门的一种,但一旦遇上了,如果不会数位DP单纯靠暴力方法很难骗分。一、什么是数位DP?数位DP是一种计数用的DP,一般就是要统计一个区间[l,r]内满足一些条件数的个数。

字符串基础知识

一、什么是字符串?字符串就是多个只读字符组成的数组。为什么说是只读?只读是因为字符串的所有方法都不会改变原字符串,包括通过下标修改,字符串依旧是保持原样。varstr="abcd"console.log(str)//"abcd"str[0]="c"console.log(str)//"abcd"为什么

Alpha-Beta剪枝搜索图文讲解

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

树哈希常用的方式

树哈希,顾名思义,对树进行哈希,经常判断两个树是否同构。一下均为对有根树的算法,而无根树只需要找重心。我们有时需要判断一些树是否同构。这时,选择恰当的哈希方式来将树映射成一个便于储存的哈希值(一般是32位或64位整数)是一个优秀的方案。树哈希有很多种哈希方式,下面将选出几种较为常用的方式来加以介绍。

什么是数据结构?

一、什么是数据结构?数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。结构包括逻辑结构和物理结构。数据的逻辑结构包括4种(1)集合:数据元素之间除了有相同的数据类型再没有其他的关系。(2)线性结构:数据元素之间是一对一的关系——线性表、栈、队列。

简述Pick定理

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

最短路径,迪杰斯特拉(Dijkstra)算法及C/C++代码实现

1.何为最短路径最短路径问题是图论研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径,大致可以分为如下几种问题,可无论如何分类问题,其本质思想还是不变的,即,求两点间的最短距离。a)确定起点的最短路径问题-即已知起始结点,求最短路径的问题。

差分的理解与应用

说到差分,差分是一种和前缀和相对的策略,可以当做是求和的逆运算。差分,一般在大数据里用在以时间为统计维度的分析中,其实就是下一个数值,减去上一个数值。当间距相等时,用下一个数值,减去上一个数值,就叫“一阶差分”,做两次相同的动作,即再在一阶差分的基础上用后一个数值再减上一个数值一次,就叫“二阶差分"。

C++STL教程入门

在上一篇文章我们已经基本的了解了什么是C++的STL(标准模板库),在本章中绝大多数内容都是在介绍常用的STL模板的使用以及其一些参数的介绍,但是请注意,STL由于其设计之初就容纳了大量的程序员思维结晶,经过了无数次的讨论才形成了一个统一的标准,