自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 进程和线程的深入理解

进程和线程的深入理解,从抽象类比到与原理,阐述了两者的区别

2019-04-25 00:14:40 37666 18

原创 【排序算法】深入分析和实现:冒泡、插入、选择、归并、快速排序

【排序算法】在所有计算机算法中的重要性不言而喻,本文将探讨常见的几种排序算法:实现方式、原理与复杂度,包含源码与图示解析。

2022-05-11 00:12:06 256

原创 linux终端彩色打印(print/printf)

linux终端彩色打印(print/printf)显示规则\33[显示方式;前景色;背景色m ....... \33[0m实例: 高亮加粗+红色打印Hello Linuxprint("\33[1;31mHello Linux\n\33[0m")颜色规则备注说明:前景色 背景色 颜色-----------------------...

2020-04-04 16:14:20 1368 1

原创 虚拟机装Ubuntu16.04踩坑汇总

虚拟机装Ubuntu16.04踩坑汇总目录:1. ubuntu iso镜像下载2. 无法安装wmware tools解决方法3. 更换apt和pip为国内下载源4. 常用工具下载…n. vim,tmux配置备份1. iso镜像下载国内镜像站:阿里源:http://mirrors.aliyun.com/ubuntu-releases/网易源:http://mirrors...

2020-03-18 00:19:17 3283

原创 Direct3D开发配置指南

Direct3D开发配置指南环境: win10 + VS2017 + DirectX111. 环境安装DirectX SDK下载地址:http://download.microsoft.com/download/F/1/7/F178BCE4-FA19-428F-BB60-F3DEE1130BFA/DXSDK_Feb10.exeVisual Studio下载地址:https://vi...

2020-02-07 16:11:39 593

原创 python日期时间处理库总结(time,datetime,dateutil等)

python日期时间处理库总结(time,datetime,dateutil等)1. 各种时间类三方库类属性<time>struct_timetm_year~tm_sec; tm_wday(周0-6); tm_yday(日0-366)<datetime.time>timehour; minute; second<date...

2020-01-15 22:18:12 705

原创 linux汇编知识总结(GAS和NASM汇编)

linux汇编总结(GAS和NASM汇编)参考:1. 阮一峰的网络日志:汇编语言入门教程2. x86 Assembly Guide3. Linux 汇编器:对比 GAS 和 NASM目录:1. 何为汇编2.[.s][.o]等后缀对比3. GAS和NASM汇编器对比4. 基本的汇编语法与指令5. 汇编中的系统调用6. 几个汇编程序例子1. 何为汇编?assembly la...

2019-12-28 00:09:37 2262

原创 macOS下Docker使用

macOS下Docker使用参考链接:1. Docker官网2. Docker|菜鸟教程3. Docker教程:Docker入门实践1. macOS下docker安装法一:brew install docker法二(推荐):官网下载dmg双击安装注意要注册docker账号并登陆才能使用更换docker默认源为国内源点击Preference–>Daemon,添加如下源h...

2019-12-27 00:33:50 330

原创 C/C++宏定义汇总(#define,#ifdef,#inline等)

C/C++宏定义汇总(#define,#ifdef,#inline等)1. if逻辑宏定义用法#ifdef与#ifndef:希望对代码中的片段实现“部分注释,部分编译”的时候,用到#ifdef的宏定义;基本格式:#ifdef MACROcout << 1;#elsecout << 2;#endif如果标识符MACRO已定义(如#define MAC...

2019-12-13 18:39:02 700

原创 数据的机器表示--补码反码浮点数等

数据的机器表示–补码反码浮点数等参考:《计算机系统基础》(袁春凤版)工具进制转换器IEEE 754 单精度浮点数转换器补码计算器补码、反码原码:1个符号位 + 值位: 0为正数,1位负数补码:正数的补码:自身不变;负数的补码:符号位不变,其余"按位取反,末尾加一";反码:正数的反码:自身不变;负数的反码: 符号位不变,其余“按位取反”;1.如...

2019-12-11 22:35:56 1016

原创 ubuntu更新默认python到3.7遇坑汇总

ubuntu更新默认python到3.7遇坑汇总ubuntu自带的python3是3.5版本,通过pip3 install pandas时候会报版本不兼容错误;(经常其他某些库也存在此问题);途中由于版本兼容原因踩了一些坑,在此汇总起来;因此尝试更新到最新的python3.7x以下尝试了3种方法,推荐第3种1. 官网下载python3.7.5.tgz方法参见这里:https:...

2019-12-08 00:14:32 487

原创 python处理金融时间序列

python处理金融时间序列针对时间序列的处理、量化交易等1. 常用的三方库datetime 时间,与timestamp对象息息相关pandas Dataframe格式,数据向量化numpy 高效的矩阵和向量运算os, sys 一些必要的系统操作2. datetime库与timestampfrom datetime import time # time库为时间:时-分-秒f...

2019-12-07 14:43:07 402

原创 微信小脚本之python调用wxpy

微信小脚本之python调用wxpy点击这里:wxpy官方文档链接1. 安装wxpy使用pip3安装:pip3 install wxpypython3中调用:from wxpy import *2. 模拟微信登陆和登出Bot()跳出二维码–>扫码登陆;当抛KeyError: 'pass_ticket'异常时,可能是因为微信安全问题:不给登陆网页版微信bot = Bot...

2019-12-05 23:31:06 637

原创 [人工智能AI]之贝叶斯网络

[人工智能AI]之贝叶斯网络(Bayesian network)部分图片和来源自: NJU-人工智能-高阳教授 的课件通俗地讲,贝叶斯网络就是用一组有向无环图,表示多个事件的因果依赖关系,并借此完成相关推理计算;1. 贝叶斯定理(条件概率)这里贴一个知乎热答,对Bayesian Theorem解释的非常好:怎样用非数学语言讲解贝叶斯定理(Bayes’s theorem)?结合全...

2019-11-23 20:17:57 2937

原创 python+mysql操作指南

mysql指令备注1. linux下连接mysql服务器:mysql -h localhost -u root -p 1234562. mysql指令所有指令以分号’;'收尾2.1 选择和创建database 数据库show databases; # 显示所有的库use [name]; # 切换某个库create databases [name]; # 创建某个库dro...

2019-11-21 22:26:59 139

原创 [人工智能AI]NLP之中文分词库jieba+python

NLP之中文分词库jieba+python结巴jieba: 最好的中文分词开源库github传送门: https://github.com/fxsjy/jieba (20k star的开源项目)1. 配置和安装法一: pip安装pip3 install jieba法二: github源码安装git clone https://github.com/fxsjy/jieba进入ji...

2019-11-21 00:32:32 1333

原创 linux下默认国外源下载过慢的解决方法

linux下使用国内源加快下载速度以pip下载python三方库flask为例:国内源下载:pip3 install flask阿里源下载: (-i 加镜像网址)pip3 install flask -i https://pypi.tuna.tsinghua.edu.cn/simple国内源列表:清华:https://pypi.tuna.tsinghua.edu.cn/simp...

2019-11-21 00:23:13 1082

原创 [人工智能AI]之推理

[人工智能AI]之知识表示和推理部分图片和来源自: NJU-人工智能-高阳教授 的课件目录: 1. P-->Q和﹁P∨Q的等价性 2. 合取范式(CNF)与析取范式(DNF) 3. 合一法 4. 消解法(归结法) 5. Skolem标准范式与转化子句1. P–>Q和﹁P∨Q的等价性由如下真值表得出, 这两者是相互等价的;后面的证明会用到P–>Q到﹁P∨...

2019-11-20 18:12:28 2366

原创 [人工智能AI]之搜索-A*算法

搜索—A*算法1. 概述这是一种经典的寻路算法;简而言之,重点在于估算距离。问题描述:假设起点a, 终点b, 当前结点为nF(n) = G(n) + H(n)G(n)表示起点到n实际距离;H(n)表示n到终点预估距离;在所有结点中选择F值最小的非障碍物走下去即可。缺陷:显然,A*算法的效率很大程度取决于H(n)的计算,即对未来距离的预估;未完待续…2. A*...

2019-11-18 16:58:12 1146

原创 java之多线程

java之多线程参考书目: 《java编程思想》 《java典型模块与项目实战大全》多线程知识点项目实例多线程同时结束多个学生接完水一起回教室线程A等待B完成妈妈做菜等儿子打酱油多线程安全火车站票务管理1. 线程的五个状态new(创建)runable(等待运行)、 running(运行)、 blocked(暂停、挂起)dead(结束)它们...

2019-10-08 13:49:37 236

原创 C++内存泄漏和内存重叠的原因

C++内存泄漏和内存重叠的原因内存泄漏: 已经失去作用的堆内存未被及时释放,从而造成内存的浪费1. new、delete错误使用()new在堆区分配内存,却忘记通过delete释放;new申请二维数组,却只通过delete[] p释放了首位内存;(通过for循环逐个释放)这里补充数组和对象数组的释放,以及delete 和delete[]的区别:delete 释放单个对象指针...

2019-09-26 16:20:26 453

原创 C++虚函数的作用和实现原理

虚函数的作用和实现原理1. virtual虚函数作用实现C++三大特性之一的多态当父类的某个函数,需要在子类中重写时,就在父类中定义为虚函数;这样当定义一个父类指针指向子类时,就能动态地调用某子类的(被重写)函数;纯虚函数: 父类中没有定义,而在子类中需要用到,就定义为:virtual void f() = 0;class A {public: virtual void...

2019-09-26 15:21:49 1733 1

原创 STL之vector的原理和实现

STL之vector的原理和实现1. 基本用法略https://blog.csdn.net/luhao19980909/article/details/898845852. 内部原理vector内部主要实现了3个迭代器,分别指向实际头尾、最大容量的尾部;size()是实际大小,capicity()是实际容量,max_size()是理论支持的最大容量;下面代码展示了vector的扩...

2019-09-26 15:05:35 349

原创 二叉搜索树的总结和实现

二叉搜索树1.0 定义每个节点包含属性left,right和p,分别指向左右子节点和父节点二叉搜索树的性质: x.left<= x <= x.right基本操作与树的高度有关,即O(lgn)数据结构查找插入,删除数组O(n)O(n)有序数组O(lgn)O(n)二叉树O(lgn)O(lgn)//定义Node类型templ...

2019-09-24 15:39:43 294

原创 C++单例模式的实现

C++单例模式的实现单例模式: 一个类有且只能有一个实例饿汉模式:自动完成初始化并创建一个实例,但是浪费内存(空间换取时间)懒汉模式:不初始化,线程不安全(时间换取空间)下面是实现代码:// 饿汉单例模式// instance是静态变量,需要在全局初始化,这样就自动创建了一个实例(同时有且只能有一个);class Singleon {private: Singleon...

2019-09-24 15:35:55 344 1

原创 C++11智能指针的原理与实现

C++11智能指针的原理与实现1. 概述智能指针是C++11引入的新特性,头文件<memory>它实际是对一个普通指针封装成的类,并重载了*和->的两个操作符2. 简单的使用shared_ptr:基于引用计数,用于多个指针指向同一个对象的情况,初始时计数+1,折构时计数-1,计数0时自动释放;sizeof(shared_ptr) = 16;可以看到shar...

2019-09-22 19:22:57 239

原创 运算符的重载operator

运算符的重载operator重写:针对子类父类而言,函数名参数一样,但函数内容不一样;重载:针对函数而言,同名同内容,只是参数的类型和数量不同;operator重载基本格式:返回值类型 operator 运算符号(参数列表){ // TODO}下面举例实现了一个复数类(3i+5)class Complex {public: Complex(): real(0.0...

2019-09-22 18:43:53 198

原创 template模板的用法

template模板的用法1. 函数模板想象实现一个比较大小的函数, 如果想要比较long, doube等类型,是否就需要写很多种函数(而且只是参数类型不同而已)?int cmp(int a, int b) { return a>b; }像STL中的stack等就用到了模板,在初始化的时候,stack S; 实际就是声明模板中typename为int所以出现下面的写法:...

2019-09-22 18:36:16 371

原创 sizeof、strlen、length()等求数据结构大小汇总

sizeof、strlen、length()等求数据结构大小汇总名称用法sizeof结构体strlenchar字符串length()string字符串strcpy字符串拷贝函数strcat字符串拼接函数1. sizeof()首先sizeof是一个操作符,它不是一个函数;应用场景:求基本类型、结构体、数组等bit位大小;如size...

2019-09-22 16:25:20 910

原创 操作系统之fork()函数

操作系统之fork()函数int main() { pid_t pid; // 在执行fork()函数前,系统只有一个进程在执行 pid = fork(); // 此后出现两个一样的进程,也就是说需要执行下面的代码两次 /* * fork()函数一共返回两次,: * 在父进程中,返回新创建的子进程的pid * 在子进程中,返回...

2019-09-08 13:22:43 262

原创 判断小端和大端(字节序)

判断小端和大端(字节序)1. 小端大端的概念这是针对CPU而言,根据低地址存储还是高地址存储从而区分小端大端(字节)在小端模式中,低位字节放在低地址,高位字节放在高地址;在大端模式中,低位字节放在高地址,高位字节放在低地址# 而实际上,大端更符合人的直观逻辑2. C++判断小端大端#include <stdio.h>int main(){ short ...

2019-09-06 15:14:22 366

原创 C++ static关键字用法

C++ static关键字用法1. 声明static的全局函数无法被其他源文件引用若在a.cpp中将func定义为静态全局函数,那么一起编译时b.cpp将无法调用func()// a.cppstatic void func(){}// b.cppint main(){ func(); return 0;}2. 函数内static的局部变量能保持内容的记忆性函数内的...

2019-09-05 19:55:17 609

原创 C++11新特性总结

C++11新特性总结1. nullptr 空指针首先明白null的用法,注意在C和C++中null的宏定义是不同的;C: #define NULL ((void *) 0); // 表示将0强制转化成空指针,本质是空指针C++: #define NULL 0; // 表示0,本质是int型试想下列应用情景,在实现传入int和char的函数重载时,我们希望NULL传入char,但...

2019-09-04 22:45:15 165

原创 pyecharts可视化总结

pyecharts可视化总结1. linux下安装echarts 是百度开源的一个数据可视化 JS 库,pyecharts 是一个python的封装版本由于最新版pyecharts(1.3.1)与python3.6+的兼容性问题,通过wget下载并安装(0.1.9.4)版本即可wget https://files.pythonhosted.org/packages/7e/aa/63f80d...

2019-07-24 13:59:32 2504

原创 linux下纯C实现协程(借助setjmp/longjmp) (未完成)

linux下纯C实现协程(借助setjmp/longjmp)1.如何理解协程(coroutine)首先,协程是在单个线程下讨论的概念;何谓协程,就是满足如下定义:可以随时“挂起”之后可以回到“挂起”的状态继续执行Python中的yield产生器很好地解释了协程的原理,它可以产生所有自然数;重要的是,它不必每次从头开始生成,利用next()可以记住上次生成到了哪个数,它是有“记忆的...

2019-07-24 13:27:59 924

原创 python之pyautogui实现鼠标键盘控制

python之pyautogui实现鼠标键盘控制参考网址:https://www.cnblogs.com/dcb3688/p/4607980.htmlpyautogui是一个可以控制鼠标和键盘的python库,类似的还有pywin32。pyautogui的安装pip3 install python3-xlib 依赖库sudo apt-get install scrot 依赖库pip3 ...

2019-07-24 13:27:11 3541 3

原创 python+tkinter实现绘图板

python+tkinter实现绘图板创建时间:2019/5/10搭建环境:Ubuntu 18.04 + python 3.6 + tkinter使用指南:上方菜单提供了用户界面的所有操作;下方文本框提供了命令行接口,按"执行命令"按钮即可执行指令最底部显示canvas上的所有图元,包括 “类型”+“ID”实现功能:重置画布 resetCanvas width height...

2019-07-24 13:25:01 3624

原创 图算法的总结和实现(未完成)

图算法的总结和实现1.0 图的表示图通常用两种数据结构表示:邻接矩阵->稠密图、邻接链表->稀疏图对于图 G = (V, E) ,V是点集,E是边集,|V| |E|分别表示点、边的数目稀疏图:边数很少的图稠密图:边数接近|V|^2的图(一个图边数最多是点数的平方,只考虑单边图)邻接矩阵维护一个n*n的数组,n是图的点数|V|根据图的性质,数组对角线都为0,上...

2019-07-24 13:23:40 174

原创 Pybind11/Boostpyton的一些记录

pybind11最后一步的sudo make install实则是将 ./include的*.h头文件和几个.Config.cmake文件拷贝到/usr/local/sharehttps://blog.csdn.net/thisisfangsheng/article/details/75610558记录了链接哪些pybind11的头文件 (但是在window下VS编译)https:/...

2019-07-24 13:21:05 925

原创 M2 纯C实现协程

一种借助C中GOTO实现python中的yieldhttps://blog.csdn.net/bdss58/article/details/83272212协程的介绍https://gcloud.qq.com/forum/topic/569c4d895c4720d06f31c91bsetjumphttps://www.cnblogs.com/hazir/p/c_setjmp_longjm...

2019-07-05 15:49:35 214

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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