jason_cuijiahui的博客

区块链+人工智能

多线程程序在单核cpu与多核cpu上是怎么工作的?

转自1.多线程在单核和多核CPU上的执行效率问题的讨论 a1: 多线程在单cpu中其实也是顺序执行的,不过系统可以帮你切换那个执行而已,其实并没有快(反而慢) 多个cpu的话就可以在两个cpu中同时执行了…………..a2: 单核CPU上运行的多线程程序, 同一时间只能一个线程在跑, 系统帮你切...

2018-01-30 10:02:30

阅读数:1452

评论数:0

Linux Shell

Q:1 Shell脚本是什么、它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务。 Q:2 什么是默认登录shell,如何改变指定用户的...

2018-01-23 15:29:39

阅读数:144

评论数:0

SQL例子

转自 表操作 例 1 对于表的教学管理数据库中的表 STUDENTS ,可以定义如下:  CREATE TABLE STUDENTS  (SNO NUMERIC (6, 0) NOT NULL  SNAME CHAR (8) NOT NULL  AGE NUM...

2018-01-23 15:06:35

阅读数:64

评论数:0

STL中set底层实现方式? 为什么不用hash?

当强调hash表的缺点时,一定要说明内存分配的问题,会浪费一部分内存。而且hash表会为每种类型构造hash函数,不一定快。 set是用红黑树实现的,红黑树是一种平衡性很好的二分查找树。要使用hash的话,就需要为不同的存储类型编写哈希函数,这样就照顾不到容器的模板性了,而是用红黑树只需要为不同类...

2018-01-22 08:53:14

阅读数:134

评论数:0

同态加密算法简述

同态加密如果我们有一个加密函数 f , 把明文A变成密文A’, 把明文B变成密文B’,也就是说 f(A) = A’ , f(B) = B’ 。另外我们还有一个解密函数 f−1f^{-1} 能够将 f 加密后的密文解密成加密前的明文。对于一般的加密函数,如果我们将A’和B’相加,得到C’。我们用f−...

2018-01-21 18:04:00

阅读数:9039

评论数:1

排序算法汇总

插入排序 数组 #include<iostream> using namespace std; void swap(int arr[], int i, int j){ int tmp = arr[i]; arr[...

2018-01-19 09:44:55

阅读数:74

评论数:0

实现一个只能实例化一次的类 即 单例模式(Singleton)

单例模式的要点有三个: 某个类只能有一个实例; 它必须自行创建这个实例; 它必须自行向整个系统提供这个实例。 从具体实现角度来说,就是以下三点: 单例模式的类只提供私有的构造函数 类定义中含有一个该类的静态私有对象 该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象。 clas...

2018-01-17 14:17:52

阅读数:1039

评论数:0

C++类中的static关键字

静态数据成员 在类中数据成员的声明前加上static,该成员是类的静态数据成员. 例子 #include using namespace std; class MyClass { public: MyClass(int a, int b, int c...

2018-01-17 13:58:25

阅读数:125

评论数:0

C++中 string对象的大小比较

原理: 两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇’\0’为止。当两个数的位数一样,则直接可以应用字符串的比较。如 "1346" > "1111" == true例子:#include<iostream&...

2018-01-11 20:56:41

阅读数:7189

评论数:0

C++数值类型与string的相互转换

数值->string方法1 流#include<sstream> //ostringstream对象用来进行格式化的输出,常用于将各种类型转换为string类型 //ostringstream只支持<<操作符 template<typename T> st...

2018-01-11 19:22:49

阅读数:96

评论数:0

STL 中优先队列priority_queue

优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素。但是它有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并非按照先进先出的原则进行,而是将当前队列中最大的元素出队。元素的比较规则默认按元素值由大到小排序,可以重载“。  操作 empty() 如果队列为空返回真 pop...

2018-01-10 14:29:55

阅读数:66

评论数:0

STL中的有序容器

map, set, multimap, multiset 四种容器采用红黑树实现,红黑树是平衡二叉树的一种。不同操作的时间复杂度近似为: 插入: O(logN) 查询:O(logN) 删除:O(logN) map 更多 C++ maps是一种关联式容器,包含“关键字/值”对。 map的...

2018-01-10 14:20:42

阅读数:499

评论数:0

STL中的队列queue

基本操作push(x) 将x压入队列的末端pop() 弹出队列的第一个元素(队顶元素),注意此函数并不返回任何值front() 返回第一个元素(队顶元素)back() 返回最后被压入的元素(队尾元素)empty() 当队列为空时,返回truesize() 返回队列的长度例子#include<...

2018-01-10 14:06:16

阅读数:88

评论数:0

C++的排序sort

stl中就自带了排序函数sort,sort函数对给定区间所有元素进行排序 #include #include using namespace std; int main(){ int test[]={2,4,1,23,5,76,0,43,24,65}; int len =...

2018-01-10 10:45:14

阅读数:104

评论数:0

比特币的区块哈希算法

比特币的区块哈希算法采用双重sha256算法。为什么不用一重sha256算法?这是因为SHA1在2017你那被攻破,采用的方法是birthday collision attack。社区觉得SHA2被攻破也是时间的问题,而抵御birthday collision attack的有效方法为双重哈希算法...

2018-01-09 11:34:54

阅读数:3724

评论数:2

大端模式(big-endian)与小端模式(little-endian)

参考自大端模式与小端模式 大端模式是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中. 小端模式是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。 大小端模式的由来在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C...

2018-01-09 10:46:07

阅读数:672

评论数:0

c++中指针的++操作

对于指针的++,在C++里,默认是对类型进行++#include<iostream> using namespace std; int main(){ int src[] = {1, 2, 3}; int *p = src; cout<<*src&l...

2018-01-08 17:03:44

阅读数:43

评论数:0

C++中的sizeof和strlen

#include<iostream> using namespace std;int main(){ char test1[] = ""; cout<<sizeof(test1)<<endl; // 1 cout<...

2018-01-08 16:57:30

阅读数:57

评论数:0

sublime 3 + Golang + 代码补全

关于Golang的部分 配置golang的环境变量 // 按自己Golang的具体安装情况填写 GOROOT=E:\GO\mount\ GOPATH=E:\GO\myGo GOBIN=%GOPATH%\bin 注意:GOPATH(工作空间)目录下要有三个目录:bin、pkg、s...

2018-01-08 11:20:44

阅读数:5306

评论数:0

实现一个无法被继承的C++类

如何写一个不能被继承,且能正常使用的类,下面提出三种思路。 C++11 的final关键词 类被final修饰,不能被继承。 class A1 final {}; class B1 : A1 {}; // "B1":无法从"A1"继承,因为它已...

2018-01-05 11:26:38

阅读数:68

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭