c++
文章平均质量分 61
好多鱼哦
数据挖掘、机器学习
展开
-
c++各容器使用心得
STL中的常用容器包括:顺序性容器(vector、deque、list)、关联容器(map、set)、容器适配器(queue、stack)。其中vector表示一段连续的内存,基于数组实现,list表示非连续的内存,基于链表实现,deque与vector类似,但是对首元素提供插入和删除的双向支持。map是key-value形式,set是单值。map和set只能存放唯一的key,mu原创 2016-04-19 15:16:39 · 481 阅读 · 0 评论 -
c++字符串转数字的方法
1.stoi函数string ss;int temp = stoi(ss);2. stringstream类stringstream ss;ssint temp;ss>>temp;3.减法string ss;int temp = ss - '0';原创 2016-08-07 16:13:05 · 799 阅读 · 0 评论 -
OJ在线判题注意事项(C++版)
1.正确处理输入格式常见的输入格式预先不输入数据的组数预先输入数据的组数一组数据应对措施读到文件结尾读数据组数然后循环直接读数据代码while (cin>>a>>b) { cout<<a + b<< endl;}cin<<n;for (int i = 0; i < n; i++) { int a, b; cin>>a>>b; cout<<原创 2016-08-04 16:50:29 · 2071 阅读 · 0 评论 -
Static变量的作用
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。1.面向过程设计中的static1.1静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。静态全局变量有以下特点: • 该变量在全局数据区分配内存; • 未经初始化原创 2016-08-15 21:43:59 · 333 阅读 · 0 评论 -
数据挖掘面试常见的问题
一、进程与线程的区别,线程的缺点进程和线程都是由操作系统程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程。 线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 线程在执行过程中与进程还是有区别的。每个独立的原创 2016-08-13 11:31:59 · 1337 阅读 · 0 评论 -
队列的使用—最近通话记录
手机的存储空间非常小,以至于未接来电、已接来电和已拨电话都只能各自保存最近的10条记录。未接来电、已接来电和已拨电话记录全部给出。写代码使用循环队列来实现最近记录的功能。输入格式:每条记录包含两个数字,第一个数代表记录类型,第二个数代表手机号码。 输出格式:分3列输出未接来电、已接来电、已拨电话。列之间用空格分割,后接电话 其中0代表未接来电,1原创 2016-06-16 15:38:40 · 3530 阅读 · 0 评论 -
动态规划——爬楼梯
爬楼梯的时候一次只能迈1级或2级台阶,假如一共有n级台阶的话,一共有多少种方法能够爬到楼梯顶部?思路:假设到达第i级楼梯共有result[i]种方法,实际上到达第i级楼梯只能由第i-1级和第i-2级到达,即result[i] = result[i-1] + result[i-2]。#include using namespace std;int result[100] = {0};i原创 2016-06-15 15:45:39 · 648 阅读 · 0 评论 -
字典序最小问题
给定长度为N的字符串S,要构造一个长度为N的字符串T。期初,T是一个空串,随后反复进行下列任意操作:从S的头部删除一个字符,加到T的尾部;从S的尾部删除一个字符,加到T的尾部。目标是要构造字典序尽可能小的字符串T。当N=6,输入S="ACDBCB"时,输出T="ABCBCD"。将S反转后的字符串定为S',比较S和S'的字典序,如果S较小则从S开头取字符加到T的末尾,反之从S末尾取字原创 2016-06-15 11:07:40 · 2906 阅读 · 0 评论 -
动态规划——数塔问题
从上到下出发,每次只能走到下面相邻的节点,寻找最一条路径使经过的数值和最大。912 1510 6 8 2 18 9 519 7 10 4 15动态规划思路:假设到第i行第j个元素为止的最优解为f[i][j],则f[i][j]实际上至于f[i-1][j]和f[i-1][j-1]有关。#include #include using namesp原创 2016-06-14 22:06:10 · 598 阅读 · 0 评论 -
动态规划——LIS问题
计蒜课是个在线学习编程的好网站,这是我作为一个编程小白总结的一点点脚印!最长上升子序列(Longest Increasing Subsquence)即LIS问题是动态规划解决的一个经典问题。例如输入序列1 5 2 3 4 输出最长上升子序列的长度:4 (子序列为1 2 3 4)动态规划思路:dp[i]为最长子序列最后一个元素为元序列第i个元素是的最大长度,只要把前面比dp[i]原创 2016-06-15 10:34:45 · 3046 阅读 · 0 评论 -
排序算法2
朴素排序算法-选择排序和冒泡排序选择排序算法的策略是从前到后扫描待排序序列,并依次插入到已排序序列中的正确位置。总体的时间复杂度为O(N^2),是一种基于比较的稳定排序。什么叫稳定排序?就是假如之前有两个元素的值相等,那么在排序前后,这两个元素的相对顺序不会发生变化。冒泡排序也是一个和插入排序一样时间复杂度、基于比较的稳定排序。冒泡排序的思想是不断扫描待排序序列,比较每一对相邻元素,并原创 2016-06-14 21:23:55 · 291 阅读 · 0 评论 -
c++学习笔记(小技巧)
1、循环读入nwhile (scanf("%d", &n), n)首先scanf是个有返回值的函数,正常运行时返回读入的变量个数,这里为1。读入失败(文件结束),返回-1。scanf后面是一个逗号,构成逗号表达式,整个表达式的结果为最后一个表达式的值。当n值为0时,退出循环。2、头文件代替可用一个#include替换#include和#include两个头文件。3、ge原创 2016-06-05 10:02:17 · 279 阅读 · 0 评论 -
c++一些用法小结(排序+数据结构)
1、各种排序算法的复杂度与稳定性:2、各数据存储结构的运行速度、存储效率及应用场景 运行速度存储效率适用场景数组快高查找、矩阵操作链表较快较高频繁增删改、动态分配内存队列较快较高任务调度栈一般较高递归改写树较快一般层次关系描述原创 2016-08-10 16:46:25 · 308 阅读 · 0 评论