算法

图文解析图论BFS(广度优先搜索)

图文解析图论BFS(广度优先搜索)BFS全称是BreadthFirstSearch,中文名是宽度优先搜索,也叫广度优先搜索。是图上最基础、最重要的搜索算法之一。所谓宽度优先。就是每次都尝试访问同一层的节点。如果同一层都访问完了,再访问……

C/C++如何设计函数多返回值?

C/C++如何设计函数多返回值?有那么一种情况,函数本身需要返回多个值,如在地图参数中需要返回二维坐标(x,y),或者是系统设计中需要返回一个学生多门课程的成绩。这里提供了一些做法和思路。1.全局变量,为什么不用它?如,这样的方法,……

希尔排序算法实例详解

希尔排序算法实例详解1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(n)平均情况:O(n^2) 稳定性:不稳定排序2.过程介绍希尔排序,又名递减增量排序算法,是一种非稳定的更高效的插……

三角剖分的定义和应用

三角剖分的定义和应用什么是三角剖分?在几何中,三角剖分是指将平面对象细分为三角形,并且通过扩展将高维几何对象细分为单纯形。对于一个给定的点集,有很多种三角剖分,如:OI中的三角剖分主要指二维几何中的完美三角剖分(二维De……

位运算的应用

位运算的应用从现代计算机中所有的数据二进制的形式存储在设备中。即0、1两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与运算的运算。一、位运算概述我们知道,计算机中的数在内存……

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

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

倍增算法实例讲解

倍增算法实例讲解本篇将简要介绍倍增法。倍增法(英语:binarylifting),顾名思义就是翻倍。它能够使线性的处理转化为对数级的处理,大大地优化时间复杂度。这个方法在很多算法中均有应用,其中最常用的是RMQ问题和……

什么是字节顺序?

什么是字节顺序?一、什么是字节顺序?字节顺序,是指数据在内存中的存放顺序。举例说明什么是字节顺序使用16进制表示两个数:0x12345678和0x11223344。在内存中有两种方法存储这两个数字,分别为:从上图看,……

哈夫曼树编码与查找算法(C语言实现)

哈夫曼树编码与查找算法(C语言实现)1.哈夫曼树的查找算法查找算法根据构建哈夫曼树算法衍生而来,我们在构建二叉树时需要查找出哪些数据最小,以符合我们哈夫曼树的最优解情况。查找权重值最小的两个结点的思想是:从待处理数据的头部位置开始,首先……