08 2017 档案

摘要:OSI七层模型介绍: 下面4层(物理层、数据链路层、网络层和传输层)主要提供数据传输和交换功能,即以节点到节点之间的通信为主;第4层作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;而上3层(会话层、表示层和应用层)则以提供用户与应用程序之间的信息和数据处理功能为主。 物理层的主要功能是:利用 阅读全文
posted @ 2017-08-27 23:30 sold_out 阅读(302) 评论(0) 推荐(0)
摘要:```C++ //打印从1到最大的n位数:大数问题,用字符串表示数字来避免溢出 bool increment(char number){ bool isOverFlow = false; int nTakeOver = 0; size_t strLength = strlen(number); fo 阅读全文
posted @ 2017-08-27 23:23 sold_out 阅读(334) 评论(0) 推荐(0)
摘要:```C++ //在O(1)时间内删除链表节点,给定单向链表的一个头指针和一个节点指针,假设该节点一定是链表中的节点 struct ListNode{ int m_nValue; ListNode* m_pNext; }; void DeleteNode(ListNode** pListHead, ListNode* pToBeDeleted){ //传入特殊值:空链表,空... 阅读全文
posted @ 2017-08-27 23:22 sold_out 阅读(624) 评论(0) 推荐(0)
摘要:```C++ //调整数组顺序使奇数位于偶数前面: void reorderOddEven(int pData, unsigned int length){ if (pData == nullptr || length pBegin && func( pEnd)) pEnd ; if (pBegin 阅读全文
posted @ 2017-08-27 23:20 sold_out 阅读(223) 评论(0) 推荐(0)
摘要:```C++ //树的子结构:输入两颗二叉树A, B,判断B是不是A的子结构 struct BinaryTreeNode{ double m_dbValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight; }; bool hasSubTree(BinaryTreeNode* pRoot1, BinaryTreeNode... 阅读全文
posted @ 2017-08-27 23:18 sold_out 阅读(193) 评论(0) 推荐(0)
摘要:```C++ //字符串的全排列:递归实现 void Permutation(char* pStr){ if (pStr == nullptr) return; Permutation(pStr, pStr); } void Permutation(char* pStr, char* pBegin){ if (*pBegin == '\0') ... 阅读全文
posted @ 2017-08-27 23:14 sold_out 阅读(128) 评论(0) 推荐(0)
摘要:```C++ //快速排序:Partition分割函数,三数中值分割 bool g_bInvalidInput = false; int median3(int data, int start, int end){ int middle = (start + end) 1; if (data[sta 阅读全文
posted @ 2017-08-27 23:13 sold_out 阅读(1107) 评论(0) 推荐(0)
摘要:C++ //把字符串转换成整数: // 1:考虑特殊输入,空指针,空字符串,只有正负号之后没有数字,字符串中有非数字字符 // 2:考虑整型的(正数)上溢出,(负数)下溢出, 需要把num类型设置为long long才能不溢出,再用num与int的极大极小值比较 // 3:输入测试:正数,负数,0 阅读全文
posted @ 2017-08-27 23:10 sold_out 阅读(281) 评论(0) 推荐(0)
摘要:C++ //丑数:求从小到达排列的第1500个丑数 //暴力枚举 bool isUgly(int number){ while (number % 2 == 0) number /= 2; while (number % 3 == 0) number /= 3; while (number % 5 阅读全文
posted @ 2017-08-27 23:08 sold_out 阅读(243) 评论(0) 推荐(0)
摘要:```C++ //mergeSort: void mergeSort(int data, int length, int start, int end, int tempArray){ if (start == end){ tempArray[start] = data[start]; return 阅读全文
posted @ 2017-08-27 23:06 sold_out 阅读(315) 评论(0) 推荐(0)
摘要:```C++ //两个链表的第一个公共节点:可以利用两个辅助栈实现, 也 //可以遍历链表两次,求节点个数差,长的链表先遍历, 然后同时开始遍历, 找到相同节点 struct ListNode{ int m_nValue; ListNode* m_pNext; }; ListNode* FirstPublicNode(ListNode* pHead1, ListNode* pHea... 阅读全文
posted @ 2017-08-27 23:03 sold_out 阅读(464) 评论(0) 推荐(0)
摘要:```C++ //二叉查找树的第k大节点:利用二叉搜索树的中序遍历序列是递增排序的性质,递归实现 struct BinaryTreeNode{ int m_nValue; BinaryTreeNode m_pLeft; BinaryTreeNode m_pRight; }; BinaryTreeNo 阅读全文
posted @ 2017-08-27 23:00 sold_out 阅读(655) 评论(0) 推荐(0)
摘要:```C++ // 数组中数字出现的次数:数组中只出现一次的两个数字,其他数字都出现两次(位运算特点:位异或exclusiveOR(^), 位与(&)) // 其他解法:使用排序,然后二分查找只出现一次的数字,时间O(n log n), // 使用哈希表存储每个数字出现的次数,时间O(n),空间O( 阅读全文
posted @ 2017-08-27 22:57 sold_out 阅读(227) 评论(0) 推荐(0)
摘要://添加赋值运算符函数: 阅读全文
posted @ 2017-08-27 22:51 sold_out 阅读(203) 评论(0) 推荐(0)
摘要:TensorFlow 官方文档:https://www.tensorflow.org/api_guides/python/math_ops TensorFlow Mini batching 学习率和epochs 1. 学习率过高,在相同的epochs条件下准确率会过早的停止改进,导致最终准确率会低 阅读全文
posted @ 2017-08-27 22:03 sold_out 阅读(1196) 评论(0) 推荐(0)
摘要:TFLearn构建神经网络 Building the network "TFLearn" lets you build the network by "defining the layers" . Input layer For the input layer, you just need to t 阅读全文
posted @ 2017-08-27 21:58 sold_out 阅读(2737) 评论(0) 推荐(1)
摘要:Counter class https://docs.python.org/2/library/collections.html collections.Counter 阅读全文
posted @ 2017-08-27 21:55 sold_out 阅读(219) 评论(0) 推荐(0)
摘要:1. 迁移学习两种类型: ConvNet as fixed feature extractor :利用在大数据集(如ImageNet)上预训练过的ConvNet(如AlexNet,VGGNet),移除最后几层(一般是最后分类器),将剩下的ConvNet作为应用于新数据集的固定不变的特征提取器,输出特 阅读全文
posted @ 2017-08-25 22:20 sold_out 阅读(863) 评论(0) 推荐(0)
摘要:设置 Linux 环境变量可以通过 export 实现,也可以通过修改几个文件来实现,有必要弄清楚这两种方法以及这几个文件的区别。 通过文件设置 Linux 环境变量 首先是设置全局环境变量,对所有用户都会生效: etc/profile: 此文件为系统的每个用户设置环境信息。当用户登录时,该文件被执 阅读全文
posted @ 2017-08-24 15:04 sold_out 阅读(286) 评论(0) 推荐(0)
摘要:CHAR和VARCHAR的区别 存储方式和检索方式不同: 1、CHAR固定长度字符类型。CHAR存储定长数据,CHAR字段上的索引效率高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。 缺点是浪费空间,检索时CHAR列删除尾部空格,若果要保留程序需要对 阅读全文
posted @ 2017-08-24 14:58 sold_out 阅读(209) 评论(0) 推荐(0)
摘要:MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB( 阅读全文
posted @ 2017-08-24 14:52 sold_out 阅读(188) 评论(0) 推荐(0)
摘要:简单来说,存储引擎就是指表的类型以及表在计算机上的存储方式。 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分。不同的存储引擎决定了MySQL数据库中的表可以用不同的方式来存储。我们可以根据数据的特点来选择不同的存储引擎。 在MyS 阅读全文
posted @ 2017-08-24 14:50 sold_out 阅读(275) 评论(0) 推荐(0)
摘要:导读 在MySQL里常用的索引数据结构有B+树索引和哈希索引两种,我们来看下这两种索引数据结构的区别及其不同的应用建议。 二者区别 备注:先说下,在MySQL文档里,实际上是把B+树索引写成了BTREE,例如像下面这样的写法: CREATE TABLE t( aid int unsigned not 阅读全文
posted @ 2017-08-24 14:47 sold_out 阅读(246) 评论(0) 推荐(0)
摘要:1、reinterpret_cast (expression) type-id 必须是一个指针、引用、算术类型、函数指针或者成员指针。 它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针(先把一个指针转换成一个整数,再把该整数转换成原类型的指针,还可以得到原先的指针值)。 static_ 阅读全文
posted @ 2017-08-24 14:42 sold_out 阅读(436) 评论(0) 推荐(0)
摘要:对n较大的排序记录。一般的选择都是时间复杂度为O(nlog2n)的排序方法。 时间复杂度来说: (1)平方阶(O(n2))排序 各类简单排序:直接插入、直接选择和冒泡排序;快速排序 (2)线性对数阶(O(nlogn))排序 堆排序和归并排序;(避免最坏情形的快排:平均O(nlogn)) (3)O(n 阅读全文
posted @ 2017-08-24 14:37 sold_out 阅读(592) 评论(0) 推荐(0)
摘要:简单选择排序是最简单直观的一种算法,基本思想为每一趟从待排序的数据元素中选择最小(或最大)的一个元素作为首元素,直到所有元素排完为止,简单选择排序是不稳定排序。 在算法实现时,每一趟确定最小元素的时候会通过不断地比较交换来使得首位置为当前最小,交换是个比较耗时的操作。其实我们很容易发现,在还未完全确 阅读全文
posted @ 2017-08-24 14:33 sold_out 阅读(248) 评论(0) 推荐(0)
摘要:当用一个已初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用。也就是说,当类的对象需要拷贝时,拷贝构造函数将会被调用。以下情况都会调用拷贝构造函数: (1)一个对象以值传递的方式传入函数体 (2)一个对象以值传递的方式从函数返回 (3)一个对象需要通过另外一个对 阅读全文
posted @ 2017-08-24 14:11 sold_out 阅读(360) 评论(0) 推荐(0)
摘要:三大特性是:封装,继承,多态 所谓封装 就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏.封装是面向对象的特征之一,是对象和类概念的主要特性. 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些 阅读全文
posted @ 2017-08-24 14:06 sold_out 阅读(1364) 评论(0) 推荐(0)
摘要:当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。静态方法就是与该类相关的,是类的一种行为,而不是与该类的实例对象相关。 静态数据成员的用途之一是统计 阅读全文
posted @ 2017-08-24 13:42 sold_out 阅读(966) 评论(0) 推荐(0)
摘要:一、基本概念 对于C++中经常出现的函数名称相同但是参数列表或者返回值不同的函数,主要存在三种情况: 1.函数重写(override) 函数重载主要实现了父类与子类之间的多态性,子类中定义与父类中名称和参数以及返回值都相同的虚函数。 1)重写的函数不能是static函数,必须是virtual函数,即 阅读全文
posted @ 2017-08-24 13:36 sold_out 阅读(2253) 评论(0) 推荐(0)
摘要:一个由C/C++编译的程序除了存放函数二进制代码的程序代码段(code段)外,数据占用的内存大致分为以下几个部分: 1、栈区(stack) 存放局部变量、函数参数、返回数据、返回地址等。系统自动分配释放,其操作方式类似于数据结构中的栈。 需要注意的有三点: 第一,退栈后销毁进栈时定义数据,请看下面这 阅读全文
posted @ 2017-08-24 13:16 sold_out 阅读(1169) 评论(0) 推荐(0)
摘要:C++中的引用与指针的区别 指向不同类型的指针的区别在于指针类型可以知道编译器解释某个特定地址(指针指向的地址)中的内存内容及大小,而void*指针则只表示一个内存地址,编译器不能通过该指针所指向对象的类型和大小,因此想要通过void*指针操作对象必须进行类型转化。 ★ 相同点: 1. 都是地址的概 阅读全文
posted @ 2017-08-24 12:28 sold_out 阅读(292) 评论(0) 推荐(0)
摘要:野指针,也就是指向不可用内存区域的指针。如果对野指针进行操作,将会使程序发生不可预知的错误,甚至可能直接引起崩溃。 野指针不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是野指针是很危险的,也具有很强的掩蔽性,if语句对它不起作用。 造成野指针的 阅读全文
posted @ 2017-08-24 12:22 sold_out 阅读(1478) 评论(0) 推荐(0)
摘要:OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 。 完成中继功能的节点通常称为中继系统。在OSI七层模型中,处于不同层的中继系统具有不同的名称。 一个设备工作在哪一层,关键看它工作时利用哪一层的数据头部信息。网桥 阅读全文
posted @ 2017-08-24 12:18 sold_out 阅读(503) 评论(0) 推荐(0)
摘要:1.先来介绍它的第一条也是最重要的一条:隐藏。(static函数,static变量均可) 当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。举例来说明。同时编译两个源文件,一个是a.c,另一个是main.c。 程序的运行结果是: A Hello 为什么在a.c中定义的全 阅读全文
posted @ 2017-08-24 12:10 sold_out 阅读(104543) 评论(11) 推荐(17)
摘要:C++中值传递、指针传递、引用传递的总结 指针传递和引用传递一般适用于:函数内部修改参数并且希望改动影响调用者。对比值传递,指针/引用传递可以将改变由形参“传给”实参(实际上就是直接在实参的内存上修改,不像值传递将实参的值拷贝到另外的内存地址中才修改)。指针/引用传递的另外一种用法是:当一个函数实际 阅读全文
posted @ 2017-08-24 12:05 sold_out 阅读(1035) 评论(0) 推荐(0)
摘要:为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下: 常变量: const 类型说明符 变量名 常引用: const 类型说明符 &引用名 阅读全文
posted @ 2017-08-24 12:01 sold_out 阅读(439) 评论(0) 推荐(1)
摘要:C++内存区域分为5个区域。分别是堆,栈,自由存储区,全局/静态存储区和常量存储区。 栈:由编译器在需要的时候分配,在不需要的时候自动清除的变量存储区。里面通常是局部变量,函数参数等。 堆:由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new对应一个delete。如果 阅读全文
posted @ 2017-08-24 11:01 sold_out 阅读(2739) 评论(0) 推荐(0)
摘要:相同点:都可用于申请动态内存和释放内存 不同点: (1)操作对象有所不同 malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自 阅读全文
posted @ 2017-08-24 10:59 sold_out 阅读(311) 评论(0) 推荐(0)
摘要:reinterpret_cast是C++里面的一个强制类型转换符,能够将任何的指针类型转换成其他的任何指针类型;能够将任何的整数类型转换成指针类型,反之亦然;滥用reinterpret_cast强制类型转换符不安全。除非要转换成的类型是固有的低级别的,不然要考虑使用其他的转换操作符。 a、reint 阅读全文
posted @ 2017-08-24 10:50 sold_out 阅读(428) 评论(0) 推荐(0)