算法

位运算的应用

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

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

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

倍增算法实例讲解

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

什么是字节顺序?

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

Python递归算法

Python递归算法        我们在前面学习过递归函数,递归函数采用的……

什么是差分约束系统?

什么是差分约束系统?什么是差分约束系统?差分约束系统是一种特殊的N元一次不等式组,它包含N个变量以及M个约束条件,每个约束条件都是由两个变量作差得到的,形如,其中是常数。我们根据题目要求,并用这M个约束条件求出某个不等式……

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

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

什么是跳表?

什么是跳表?跳表是一种数据结构。它使得包含n个元素的有序序列的查找和插入操作的平均时间复杂度都是O(logn),优于数组的O(n)复杂度。快速的查询效果是通过维护一个多层次的链表实现的,且与前一层(下面一层)链表……

C++STL之Priority_queue(优先队列)

C++STL之Priority_queue(优先队列)1.简介优先队列是一种极其特殊的队列,他与标准的队列使用线性结构进行计算不同,优先队列的底层是以散列的状态(非线性)表现的,他与标准的队列有如下的区别,标准的队列遵从严格的先进先出,优先队列并不遵从标……

超详细背包DP九讲(算法分析+问题分析+代码分析)

超详细背包DP九讲(算法分析+问题分析+代码分析)P01:01背包问题题目:有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路:这是最基础的……