STL 中取第 n 小数的算法 nth_element 的函数原型如下
template
void nth_element(RandomAccessIterator first, RandomAccessIterator nth, RandomAccessIterator last);
算法说明:
1、功能:执行 nth_element 后,nth 所指位置的元素将是整个区间有序时在该处的元素。对 [first, nth) 中的任意迭代器 i 和 [n...
分类:
其他好文 时间:
2014-07-22 23:03:14
阅读次数:
345
GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。它的目的:提供一种方法顺序访问一个聚合对象中各个元素,
而又不需暴露该对象的内部表示。[GOF 《设计模式》]如果大家只看定义的话估计也不太清楚吧,怎么说呢,从简单来讲,大家可以把它理解为...
分类:
其他好文 时间:
2014-05-02 08:51:18
阅读次数:
319
学习要点···理解回溯法的深度优先搜索策略···掌握用回溯法解题的算法框架: (1)递归回溯
(2)迭代回溯 (3)子集树算法框架 (4)排列数算法框架···应用范例:……回溯法:
回溯法有“通用的解题法”之称。用它可以系统的搜索一个问题的所有解或任一解。回溯法是一个既带有系统性又带有跳跃...
分类:
其他好文 时间:
2014-05-01 18:52:38
阅读次数:
538
对于vector容器的使用,平时只是简单的进行遍历查找一下,未曾进行其它操作,这不,今天出了一点差错;
earse方法的操作是将此时的节点删除,然后指向被删除节点的下一个:
如对数据1 6 6 4 7;...
分类:
其他好文 时间:
2014-05-01 18:47:34
阅读次数:
501
一、Apriori 算法概述
Apriori 算法是一种最有影响力的挖掘布尔关联规则的频繁项集的 算法,它是由Rakesh Agrawal 和RamakrishnanSkrikant 提出的。它使用一种称作逐层搜索的迭代方法,k- 项集用于探索(k+1)- 项集。首先,找出频繁 1- 项集的集合。该集合记作L1。L1 用于找频繁2- 项集的集合 L2,而L2 用于找L2,如此下去,直到不能找到 ...
分类:
其他好文 时间:
2014-05-01 17:50:47
阅读次数:
280
上一篇文章是纯粹地实现了红黑树,但是在STL中,红黑树容器是需要迭代器实现的。故将上一篇文章改进后实现红黑树容器。
#ifndef ITERATOR_RB_TREE_H_INCLUDED
#define ITERATOR_RB_TREE_H_INCLUDED
#include"my_iterator_base.h"
/*
**
iterator_rb_tree.h
红黑树地泛型容器地迭代器
与...
分类:
其他好文 时间:
2014-04-29 13:45:21
阅读次数:
506
1.算法简介
朴素贝叶斯(Naive Bayes)是无监督学习的一种常用算法,易于实现,没有迭代,并有坚实的数学理论(即贝叶斯定理)作为支撑。
本文以拼写检查作为例子,讲解Naive Bayes分类器是如何实现的。对于用户输入的一个单词(words),拼写检查试图推断出最有可能的那个正确单词(correct)。当然,输入的单词有可能本身就是正确的。比如,输入的单词thew,用户...
分类:
其他好文 时间:
2014-04-29 13:38:20
阅读次数:
476
从开始看STL源码到今天差不多有一个月的时间了,在这研读STL源码过程中确实学习到了很多,深深被大师们的设计思想所打动。其中使用迭代器的思想是其STL的最大的亮点,通过泛型编程,是得所有的容器对外都提供统一的访问接口,而屏蔽掉了各个容器底层实现的细节。相对了面向对象的编程,泛型编程同样能够实现多态的功能,而且还具有更高的安全性以及效率,因为泛型编程就是编译期间就已经决定了变量的类型。...
分类:
其他好文 时间:
2014-04-29 13:36:19
阅读次数:
701
小米面试
我:
一面:
数据结构+算法:
斐波那契数列:非递归-迭代
1MB内存,外存-100W整数,排序,O(1)-位图法
设计模式:
代理模式:OO
C++:虚函数表
二面:
数据结构+算法:
快排
二叉树遍历
设计模式:
单例模式-多线程:
关系数据库的特性
进程和线程的区别
三面:
数据结构+算法:...
分类:
移动开发 时间:
2014-04-29 13:17:19
阅读次数:
606
对于逆向迭代器,很重要的一点是需要弄清楚逻辑位置和实际位置二者的区别。
下图显示了逆向迭代器的位置和所指的数值:
可以发现,逆向迭代器所指位置(实际位置)和所代表的的数值(逻辑位置或数值)是不同的。C++这么做是有其原因的。导致这个行为的原因是区间的半开性。为了能够制定容器内的所有元素,我们必须运用最后一个元素的下一个位置。但是对于reverse迭代器而言,这个位置位于第一个元素之...
分类:
其他好文 时间:
2014-04-29 13:14:21
阅读次数:
367