简单选择排序算法实例详解 1.复杂度与稳定性算法时间复杂度最坏情况:O(n^2)最好情况:O(1)//即不需要排序,本身已是正序平均情况:O(n^2)空间复杂度:S(n)=O(1)稳定性:不稳定排序2.过程介绍(以顺序为例)1.我们设置两个记录i和j,i自数组第一个元素开始,j自i+1个元素开始。 排序算法 2022年01月18日 192 点赞 0 评论 83461 浏览
C++代码浅谈IDA*算法 本篇简述一下IDA*算法,并列出代码帮助大家理解。(1)算法简介IDA*(IDA*)算法是一种启发式搜索算法,他是采取了迭代加深的A*算法,使用了深度优先搜索的方式。相对于A*算法,IDA*算法主要解决了:1.A*算法需要判重,对优先级排序的问题。 搜索算法 2022年05月15日 144 点赞 0 评论 68736 浏览
C++字符串常用操作(一) 1.基本介绍在程序设计中,字符串操作是必不可缺的,无论是工程设计还是算法设计均离不开字符串,字符串是由一个个单独的字符构成的串,其数据结构是线性的,常以ASCII码表示,同时只要设定得当,其展示任何一种编码也都是可以的。字符串有很多的操作,也有非常多的扩展算法, 串、数组、矩阵和广义表 2022年03月23日 182 点赞 0 评论 90823 浏览
树形模拟法的运用(C语言例题讲解) 1.模拟法简介在前面的文章已经提到过模拟这个思维,模拟的思维无处不在,就树形的DFS算法而言,我们更多的情况并非建立一棵树,这对我们书写和易用性而言太差了,我们通常会适用多个数组进行模拟,树也是可以利用数组进行模拟的。如下图:上面一排表示数组下标, 树 2022年01月10日 205 点赞 0 评论 109304 浏览
三维计算几何基础 本篇内容是围绕着三维计算几何展开,三维几何的很多概念和知识与二维几何是想通的,所以在我们做三维几何问题的时候,可以采用解决二维几何问题相同的方法来解决。其中点,向量,直线等概念和二维几何相似,就不再重复介绍了。平面我们可以用平面上的一点和该平面的法向量(即垂直于该平面的向量)n来表示一个平面。 计算几何 2022年01月10日 74 点赞 0 评论 65402 浏览
C/C++如何加速输入输出效率(下) 1.简介自上一篇文章,我们了解了解除绑定的输入输出流,这会让我们的代码输出变得迅速,然而,对于输入而言,亦有快速读取这一个更优秀的方案(相对来说也较为麻烦)。在我们学习C语言的时候,我们曾经学过字符的输入函数getchar(),她从标准输入里面读取下一个字符, C++STL库教程(附带题库) 2022年04月17日 157 点赞 0 评论 94902 浏览
什么是跳表? 跳表是一种数据结构。它使得包含n个元素的有序序列的查找和插入操作的平均时间复杂度都是O(logn),优于数组的O(n)复杂度。快速的查询效果是通过维护一个多层次的链表实现的,且与前一层(下面一层)链表元素的数量相比,每一层链表中的元素的数量更少。 数据结构 2022年01月09日 176 点赞 0 评论 102430 浏览
什么是数值积分? 一、什么是数值积分?数值积分是计算定积分数值的方法和理论。在数学分析中,给定函数的定积分的计算不总是可行的。许多定积分不能用已知的积分公式得到精确值。数值积分是利用黎曼积分等数学定义,用数值逼近的方法近似计算给定的定积分值。借助于电子计算设备,数值积分可以快速而有效地计算复杂的积分。 数学相关 2022年03月27日 216 点赞 0 评论 91354 浏览
字典树(trie)/前缀树(Prefix Tree)实例讲解 对于字典树/前缀树可能大部分情况很难直观或者有接触的体验,尤其是对前缀这个玩意没啥概念,可能做题遇到前缀问题也是使用暴力匹配蒙混过关,如果字符串比较少使用哈希表等结构可能也能蒙混过关,但如果字符串比较长、相同前缀较多那么使用字典树可以大大减少内存的使用和效率。 字符串相关 2022年01月16日 106 点赞 0 评论 95420 浏览
模拟算法实例讲解 模拟,属于入门级算法,顾名思义,就是让电脑按照题目所给出的方法来运行,最终输出所需要的结果的过程。本篇主要是从模拟算法的概念和实例进行讲解和分析。一、模拟的概念(1)模拟的介绍模拟就是用计算机来模拟题目中要求的操作。模拟题目通常具有码量大、操作多、思路繁复的特点。 算法基础 2022年01月12日 144 点赞 0 评论 83395 浏览