- 博客(28)
- 收藏
- 关注
原创 动态链接库与静态链接库的区别
动态链接库与静态链接库的区别库文件的概念 库文件是计算机上的一类文件,提供给使用者一些开箱即用的变量、函数或类。库文件分为静态库和动态库,静态库和动态库的区别体现在程序的链接阶段:静态库在程序的链接阶段被复制到了程序中;动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加载到内存中供程序调用。使用动态库系统只需载入一次,不同的程序可以得到内存中相同的动态库的副本,因此节省了很多内存,而且使用动态库也便于模块化更新程序。本质上来说库是一种可执行代码的二进制形式,可以...
2021-04-26 18:38:10
7635
8
原创 把Parcel序列化到Parcelable用例
背景:A B C三个进程,A通过B调用C的函数,通过ADIL接口,AIDL接口声明要调用的函数名称(ID)用Parcel传输要调用函数参数。B相当于一个服务,提供给A,C两个进程,我们不希望B频繁编译。根据需求,我们知道Parcel传递参数,经常是一个函数一个parcel文件,因为参数不一样,协议也就不同,B要求不编译,那常规做法就不能实现需求,那么,我们能不能做一个基类,然后每次把Pa...
2020-01-04 11:40:54
508
原创 机器学习(3)-支持向量机(SVM)含python代码
支持向量机(SVM)定义:支持向量机:英文名supportvectormachine,一般简称SVM。通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的超平面(线性分类器),其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。超平面方程式: ,其中X为多维向量,W也为...
2019-12-30 19:13:46
3490
原创 机器学习(2)-K-Means(含代码)
K-Means算法介绍什么是K-Means?K-Means方法是一种非监督学习的算法,它解决的是聚类问题。K 是聚类算法中簇的个数Means 是均值算法(聚类中对象的均值) 如上图,当k=2时,可以看出利用K-Means算法可以分成蓝色...
2019-12-27 11:59:11
827
原创 机器学习(1)-贝叶斯(朴素贝叶斯,贝叶斯网络)
贝叶斯算法由于小组内项目需要,出于技术储备,小组每个人学习一个机器学习算法,做成ppt,然后给出训练数据,用python写出代码,并运行看效果,我抽到的是贝叶斯算法,大学的时候学习过,整个组都讲完了,是时候整理一下了~贝叶斯算法基本概念:贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统计知...
2019-12-26 16:34:40
1553
原创 android studio读按行文本文件(txt)
之前我是用c/c++的比较多,所以在用android studio(java)开发项目的时候,我就想着只是换了套语言,应该思路是一样的,于是乎,我就搜了一些java按行读取文件的api,直接就开始在android studio上写了,总是提示错误(no such file or directory),换了各种姿势总是不行,总是提示这个错误,实在找不出问题,最后我在想是不是android studi...
2019-12-26 14:12:07
2548
原创 android studio 使用Mocklocation虚拟定位总结
首先需要在 AndroidManifest.xml 文件中添加「获取模拟定位信息」权限。 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.INTERNET"/&...
2019-12-21 14:42:35
9797
1
原创 判断一个链表是循环链表
循环链表是另一种形式的链式存贮结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。如果去遍历循环链表,则是死循环。 这里判断循环链表的方法是; 用两个指针,一个指针是块指针(跳一个节点遍历),遍历快(p=p->netxt->next),一个指针逐步遍历,慢指针。 如果在遍历当中,如果发现这两个指针有可能是出现N...
2019-08-06 10:51:17
1409
2
原创 LeaveCriticalSection内存死锁问题
某天下午双眼迷离的用vs写着代码,一不小心报了个错,转到了mlock.c文件/**** _unlock - Release multi-thread lock**Purpose:* Note that it is legal for a thread to aquire _EXIT_LOCK1* multiple times.**Entry:* ...
2019-07-31 15:13:23
1037
原创 C++虚函数能不能模板化
虚函数不能模板化 编译器在编译一个类的时候,需要确定这个类的虚函数表的大小。一般来说,如果一个类有N个虚函数,它的虚函数表的大小就是N,如果按字节算的话那么就是4*N。 如果允许一个成员模板函数为虚函数的话,因为我们可以为该成员模板函数实例化出很多不同的版本,也就是可以实例化出很多不同版本的虚函数,那么编译器为了确定类的虚函数表的大小,就必须要知道我们一共为该成...
2019-06-27 14:42:13
2836
原创 C++类中的数据成员初始化问题
首先我们先来看一个简单的类:class Test{public: Test();private: int a; int &b; const int c; static int d; static const int e;};类的数据成员的属性大概包括:普通成员变量,引用成员变量,常成员变量,静态成员变量,静态常成员变量。普...
2019-06-27 11:38:22
3409
1
原创 c++的虚函数如果是private的,该如何实现多态
关于虚函数的回顾: 1) :虚函数的地址存放于虚函数表之中。运行期多态就是通过虚函数和虚函数表实现的。 2):类的对象内部会有指向类内部的虚表地址的指针。通过这个指针调用虚函数。 3):虚函数的调用会被编译器转换为对虚函数表的访问 。当虚函数是public的,这个时候实现多态的方式:class Base {public: virtual...
2019-06-27 10:36:25
1250
原创 深度优先搜索(DFS)---LeetCode47(全排列II)
此前,也写过一篇用dfs解决全排列问题的博客,今天又遇到一个变形,于是忍不住就撸了一把代码。题目描述:给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]]这跟之前的思路类似,还是以每一个数为根深度优先搜索其他的数,每条路径即是一条解法,但是也有差别,之前不重复的序列,...
2019-03-26 19:58:39
234
原创 jsoncpp输出顺序
最近在做一个NLU相关的项目,需要对json文件进行读取,wins vs2008环境,需要引入第三方库json.h,需要工程导入jsoncpp的静态数据连接库json_vc71_libmtd.lib,详细的教程可以自行百度。在输出的json文件我发现不是按着list添加顺序的,它是按照字母表给排序过的, json内部存储object元素是用map存储的,map的特性就是会对每次in...
2019-03-18 20:09:56
5062
2
原创 C++11 std::thread 多线程框架
C++11标准在标准库中为多线程提供了组件,这意味着使用C++编写与平台无关的多线程程序成为可能,而C++程序的可移植性也得到了有力的保证。并发与并行的区别: 并发指的是两个或者多个独立的活动在同一时间段内发生, 例如在跑步的时候你可能同时在听音乐;在看电脑显示器的同时你的手指在敲击键盘。这时我们称我们大脑并发地处理这些事件,只不过我们大脑的处理是有次重点的:有时...
2019-03-12 18:15:31
1647
1
原创 C++实现string类
先来看一下面试经常遇到的问题:实现strcpy函数char *strcpy(char *strDest, const char *strSrc) { if (strDest == NULL || strSrc == NULL) { return NULL; } if (strDest == strSrc) { return strDest; }...
2019-03-08 15:29:47
796
原创 c++之超前引用(头文件相互包含)
定义: 超前引用是指一个类型在定义之前就被用来定义变量和声明函数。一般情况下,C/C++要求所有的类型必须在使用前被定义,但是在一些特殊情况下,这种要求无法满足,例如,在类A中类B的对象指针,但是类B中也同时包含类A的对象.类A.h头文件定义如下:#ifndef A_H#define A_Hclass B;class A { int i; B...
2019-03-05 15:42:24
3391
1
原创 堆排序详解--大顶堆
堆的概念堆是一颗顺序存储的完全二叉树每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小根堆每个结点的关键字都不小于其孩子结点的关键字,这样的堆称为大根堆对于n个元素的序列{R0, R1,R2,.......,Rn}当且仅当下列关系之一的时候,称之为堆 (1) Ri <= R2i + 1 且 Ri <= R2i + 2 (小根堆) (2) ...
2019-02-25 19:37:33
43805
2
原创 最小堆实现优先队列+Dijkstra 解决最短路问题
某著名游戏公司上机题目题目回来网上搜了一把是这样的 BIT has recently taken delivery of their new supercomputer, a 32 processor Apollo Odyssey distributed shared memory machine with a hierarchical communication subsystem. Va...
2018-09-03 16:18:24
1669
原创 社招二叉搜索树面试题目——第K大的结点
需求 给定一棵二叉搜索树,求出第k大的节点。 思路 二叉 搜索树又叫二叉平衡树,左子树小于根结点,右子树大于根结点。所以中序遍历二叉搜索树的话会是从小到大排序。 实现typedef struct node{ int data; struct node *left; struct node *right;}BTNode;BTNode* searchTagC...
2018-07-23 12:03:47
264
原创 归并排序 C++递归
自己写的一个简单的版本,保存一下以便以后回顾void merge(int *data, int start, int mid, int end, int *result){ int i, j, k; i = start; j = mid + 1; k = 0; while (i <= mid &...
2018-07-13 16:44:14
391
1
原创 基于字典树原理对二进制文件进行广度优先搜索实现模糊匹配
背景:记录成长开博客的第一篇文章便是字典树实现模糊匹配,那个时候提到会把字典树导入二进制文件后进行搜索优缺点比较:对字典树的深搜实现模糊匹配:缺点:每次启动程序需要加载一颗字典树,浪费时间,浪费空间。优点:程序较为简单,实现起来相对容易对二进制文件的广搜实现模糊匹配:缺点:代码繁琐,难以实现,设计二进制文件的数据结构极为难难难。优点:设计的数据结构较优等时省时间,空间...
2018-06-29 10:36:46
846
原创 类模板的使用~
上一篇文章中是关于实习一个多功能计算器,计算表达式需要用到两个栈,一个存储表达式中的数字,一个存储表达式中的符号,刚刚好前面我也发过有关手动实现栈的文章,于是就想给大家看看手动栈在实际项目中的运用,可不曾想,使用类模板时错误连连,查了很多资料,这里总结一下~类模板的定义可用类模板来定义类,类模板是对象特性更为一般的抽象。简而言之,一个类模板就是一个抽象的类、类模板的一般定义形式为:...
2018-06-04 11:52:07
6229
原创 栈 ~ 思维题
题目:输入两个整数数列,第一个序列表示栈的压入顺序,请判断第二个序列是否是该栈的其中一个弹出顺序。假设压入栈的所有数字均不相等。例如,序列{1,2,3,4,5}是某栈的压栈序列,序列{4,5,3,2,1}是该压栈序列对应的一个弹出序列,但是{4,3,5,1,2}就不可能是该压栈序列对应的一个弹出序列。思路解决这个问题很直观的想法就是建立一个辅助栈,把输入的第一个序列中的数字依次压入辅助栈,...
2018-05-26 22:32:31
207
原创 多线程基础架构 C++实现
前序之前在实习的时候,leader为了锻炼我的学习能力,让我用wins api函数写一个多线程实际的应用案例,后来用MFC简单的封装一下,一个小型的类似于外卖系统抢单,派单的小逻辑~~,今天在项目运用中又遇到了需要提高效率的地方,所以想记录一下线程池的,多线程的好处,同步,异步,互斥锁等等的概念在这里就不多说了~~我就开门见山啦,,环境:VS2008附上代码Event类cl...
2018-05-22 14:39:02
442
原创 深度优先搜索(DFS)
深度优先搜索百度定义图的深度优先搜索(Depth First Search),和树的先序遍历比较类似。它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v有路径相通的顶点都被访问到。 若此时尚有其他顶点未被访问到,则另选一个未被访问的顶点作起始点,重复上述过程,直至图中所有顶点都被访问...
2018-05-18 16:33:04
2830
2
原创 c++实现对结构体的快速排序
浅谈sort排序在写这篇文章之前我对于结构体排序都是用STL的std::sort() 现假设有typedef struct STreeNode* pSTreeNode;struct STreeNode{ int nodeid; int namevalue; vector<pSTreeNode> pChildList;}; 对于pChild...
2018-04-27 21:41:03
4815
原创 字典树的运用,实现字符串的精确匹配与模糊匹配
背景 实现 项目里面的一个 字符串检索功能(无关业务,只写实现,后续 需要融入项目,会把树生成一段二进制blob 放到内存,变长的字节储存listsize 以及一些偏移 会重新构造搜索算法,预计一周后会继续与大家分享)需求 现有一棵树(普通树)有10w个字符串,索引为ID,现要实现2个功能1: 给定一字符串快速查找该字符串的位置2:输入一字符串 每输入...
2018-04-20 20:09:05
3847
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人