10 2016 档案

摘要:时间复杂度为O(nlogn)的堆排序,是种不稳定的排序。原理为将数组想象为一棵二叉树,将子节点与父节点比较大小并交换。 举例:序列编号为 0 1 2 3 4 5 6 7 值为 4 5 1 6 2 7 3 8 编号化为树结构为: 0 1 2 3 4 5 6 7 7的父节点为3((7-1)/2),实际上 阅读全文
posted @ 2016-10-31 21:30 爱吃土豆的男孩 阅读(196) 评论(0) 推荐(0)
摘要:算法核心部分就是 n = n & (n - 1);着行代码可以吧n的最后一位1变成0,负数用补码表示同样可以。举个例子:二进制数n 为 1100,n-1 = 1011n&n-1 = 1000 n的第三位是1,运算后变成了0;如果n为负数同样,第一位为符号位,设n = 11000n = n&(n-1) 阅读全文
posted @ 2016-10-31 18:20 爱吃土豆的男孩 阅读(157) 评论(0) 推荐(0)
摘要:copy函数作用相当于上面的代码,刚开始用的时候并不能实现,上代码 根据函数模版发现,*result = *first; ++result; 原因是cv现在为一个空的容器,所以无法赋值,运行自然出现数组越界的问题。 定义的时候为cv分配空间即可 阅读全文
posted @ 2016-10-31 17:45 爱吃土豆的男孩 阅读(6767) 评论(0) 推荐(2)
摘要:宏替换是完全的文本替换, 相当于5*3+4,所以等于19 阅读全文
posted @ 2016-10-25 10:40 爱吃土豆的男孩 阅读(205) 评论(0) 推荐(0)
摘要:最近接触到了位域这个概念,大家都知道字节是内存寻址的最小单元,但有时我们仅需要几位的二进制空间来存储数据,c语言定义了位域帮助更加接近底层,按照需求来分配空间,将1bit 分为更小的空间。 一、位域的使用方法 1、定义 struct 位域结构名 { 位域列表 }; 其中位域列表的形式为: 类型说明符 阅读全文
posted @ 2016-10-17 20:27 爱吃土豆的男孩 阅读(515) 评论(0) 推荐(0)
摘要:c/c++字节对齐 阅读全文
posted @ 2016-10-17 14:46 爱吃土豆的男孩 阅读(276) 评论(0) 推荐(0)
摘要:算法课上老师留的作业,最长公共子序列LCS(Longest Common Subsequence)问题,首先看到这个问题感觉有点复杂,和最长公共子串不同,公共子序列并不要求元素相邻,看起来只有穷举才能将所有可能全部罗列,但是伟大的数学家早已为此提供了更优的解决方案——动态规划。 一、问题描述与分析 阅读全文
posted @ 2016-10-13 19:26 爱吃土豆的男孩 阅读(833) 评论(0) 推荐(0)
摘要:首先题目大意为一个班级N位同学投票春游地点,K个候选地,若某个地点投票票数大于一半人数,则选择这个地点,若所有地点都没有被选择则在家呆着。 且每个人都很聪明,投票时会做出最有利与自己的选择。 输入例子为: 阅读全文
posted @ 2016-10-13 16:30 爱吃土豆的男孩 阅读(192) 评论(0) 推荐(0)