2,3,4,5,6,7,8,9,10,11,12,13,14
最新文章
STL教程06 |STL算法总结

06 |STL算法总结

以有限的步骤,解决逻辑上的或数学上的问题,称为算法。为了提高算法的灵活性和功效,STL的算法允许使用者自定义一些操作(函数),提供给算法调用,这些函数可以是一般函数,也可以是仿函数。所谓仿函数其实就是struct或类里的“()”重载函数。STL算法部分主要由头文件<algorithm>,<numeric>,<

STL教程05 |迭代器及辅函数介绍

05 |迭代器及辅函数介绍

迭代器是一种能够遍历某个序列或容器的所有元素的对象,所有容器都有各自的迭代器,当开发人员使用某种容器的迭代器时,不需要包含特别的头文件,但是如果要使用逆向迭代器、插入型迭代器、流迭代器,则需要包含< iterator>头文件。迭代器共分为五种,分别为: Input iterator(输入型迭代器)、Output iterato

STL教程04 |特殊容器类介绍

04 |特殊容器类介绍

## 1、bitset(位段)类模板bitset创造一个内含任意个数的位或bool值且大小固定的数组(array)。当需要管理各种标识符,并以变量形式表现出来时,可以使用bitset类模板,头文件为< bitset>,两个变量之间可以直接进行位运算。(1)构造函数```bitset<int Size> bitNam

STL教程03 |关联式容器

03 |关联式容器

关联式容器其实就是关联数组概念的推广,依据选定的排序准则,自动为其元素排序。通常关联式容器是由二叉树做出来的,每个元素都有一个父节点和两个子节点,左子树的所有元素都比自己小,右子树的所有元素都比自己大。关联式容器的差别在于元素的类型以及处理重复元素的方式。关联式容器有一个很大的优点就是提供了对元素的快速访问,但是却不能实现任意位置的操作。

STL教程02 |序列式容器

02 |序列式容器

STL标准库提供了基本序列容器vector、list、deque,同时还包括stack、queue、priority_queue 等3种适配器。本文主要介绍基本序列式容器vector、list、deque。

数据结构与算法42 | 动态规划实战:如何实现搜索引擎中的拼写纠错功能?

42 | 动态规划实战:如何实现搜索引擎中的拼写纠错功能?

在Trie 树那节我们讲过,利用 Trie 树,可以实现搜索引擎的关键词提示功能,这样可以节省用户输入搜索关键词的时间。实际上,搜索引擎在用户体验方面的优化还有很多,比如你可能经常会用的拼写纠错功能。当你在搜索框中,一不小心输错单词时,搜索引擎会非常智能地检测出你的拼写错误,并且用对应的正确单词来进行搜索。作为一名软件开发工程师,你是否想

数据结构与算法41 | 动态规划理论:一篇文章带你彻底搞懂最优子结构、无后效性和重复子问题

41 | 动态规划理论:一篇文章带你彻底搞懂最优子结构、无后效性和重复子问题

上一节,我通过两个非常经典的问题,向你展示了用动态规划解决问题的过程。现在你对动态规划应该有了一个初步的认识。今天,我主要讲动态规划的一些理论知识。学完这节内容,可以帮你解决这样几个问题:什么样的问题可以用动态规划解决?解决动态规划问题的一般思考过程是什么样的?贪心、分治、回溯、动态规划这四种算法思想又有什么区别和联系?理论的东西都比较抽

数据结构与算法40 | 初识动态规划:如何巧妙解决“双十一”购物时的凑单问题?

40 | 初识动态规划:如何巧妙解决“双十一”购物时的凑单问题?

淘宝的“双十一”购物节有各种促销活动,比如“满 200 元减 50 元”。假设你女朋友的购物车中有 n 个(n>100)想买的商品,她希望从里面选几个,在凑够满减条件的前提下,让选出来的商品价格总和最大程度地接近满减条件(200 元),这样就可以极大限度地“薅羊毛”。作为程序员的你,能不能编个代码来帮她搞定呢?要想高效地解决这个问题

数据结构与算法39 | 回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想

39 | 回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想

我们在第 31 节提到,深度优先搜索算法利用的是回溯算法思想。这个算法思想非常简单,但是应用却非常广泛。它除了用来指导像深度优先搜索这种经典的算法设计之外,还可以用在很多实际的软件开发场景中,比如正则表达式匹配、编译原理中的语法分析等。除此之外,很多经典的数学问题都可以用回溯算法解决,比如数独、八皇后、0-1 背包、图的着色、旅行商问题、

点我显示更多
用户登录