算法

快速排序算法C/C++代码图文讲解

快速排序算法C/C++代码图文讲解快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事……

最小生成树,普利姆(Prim)算法及C/C++代码实现

最小生成树,普利姆(Prim)算法及C/C++代码实现1.最小生成树(又名:最小权重生成树)概念:将给出的所有点连接起来(即从一个点可到任意一个点),且连接路径之和最小的图叫最小生成树。最小生成树属于一种树形结构(树形结构是一种特殊的图),或者说是直链型……

图的遍历DFS深搜优先搜索及C语言代码实现

图的遍历DFS深搜优先搜索及C语言代码实现1.图的遍历在理解DFS算法之前,我们首先需要对什么是遍历进行了解,遍历的概念就是:从某一个点出发(一般是首或尾),依次将数据结构中的每一个数据访问且只访问一遍。2.DFS简介DFS(Depth-Fi……

邻接表的定义及C/C++代码实现

邻接表的定义及C/C++代码实现1.邻接表概念邻接表(AdjacencyList)顾名思义,就是通过链表或者利用数组模拟链表的方式将图的相连接关系表示的一种方法,存储方法跟树的孩子链表示法相类似,是一种顺序分配和链式分配相结合的存储……

矩阵的介绍及乘法运算(附C语言实现代码)

矩阵的介绍及乘法运算(附C语言实现代码)1.矩阵概念在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。矩阵是高等代数学中的常见工具,也常……

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

二叉树(树)与森林的相互转换1.什么是森林森林,顾名思义,就是由众多的树构成的一组数据结构,这些树本身没有什么联系,用系统的语言描述就是:森林:m(>=0)棵互不相交的树的集合【注意这里森林是可以有0颗树的,同数学……

常用的数学运算符号及含义

常用的数学运算符号及含义本篇的主要内容是数学的相关知识,而数学相关知识的基础就是数学运算符号的运用,符号有很多,但是常用的掌握了,基本就没问题了,下面就把常用的符号罗列出来,并解释了其含义,帮助大家总结和学习。大写小写英文注……

图文解析A*搜索算法

图文解析A*搜索算法A*算法是启发式搜索算法,是根据Dijkstra算法改进而来。一、定义:是一种在图形平面上,对于有多个节点的路径求出最低通过成本的算法。它属于图遍历和最佳优先搜索算法,亦是BFS的改进。二、如何更好的……

哈夫曼树的介绍及C语言代码实现

哈夫曼树的介绍及C语言代码实现1.简介哈夫曼树(HuffmanTree),又名:最优二叉树,赫夫曼树其标准含义是:给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼……

选择排序算法C/C++代码图文讲解

选择排序算法C/C++代码图文讲解本篇主要简单介绍选择排序,并且通过图片和代码的形式帮助大家理解应用。(1)什么是选择排序?选择排序(Selectionsort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的中数据元素选出……