自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (2)
  • 收藏
  • 关注

原创 基础算法之贪心法

贪心法:遵循某种规律,不断贪心的选取当前最优策略的算法设计方法。例如:有1元、5元、10元,20元,100元,200的钞票无穷多张。现在使用这些钞票支付X元,最少需要多少张?思路:尽量用面额较大的金额,所以可以将钞票排一下顺序,然后计算出每个大额钞票最多能用几张,依次算出张数进行叠加#include<stdio.h>int main(){ int RMB[]={200,100,20,10,5,1}; int NUM=6; int X=628...

2020-10-21 14:55:06 427

原创 数据结构笔记--栈与队列,堆

基本定义:先进后出为栈;先进先出为队列栈的构造#include<stdio.h>#include<stack>int main(){ std::stack<int> S; if(S.empty()) //判断栈是否为空 { printf("S is empty!\n"); } S.push(1);//压栈 S.push(6); S.push(10); printf("S

2020-10-20 21:05:06 247

原创 数据结构笔记--链表

定义一个链表并打印节点值struct ListNode{ int val; //存储数据域 ListNode *next; //存储下一个链表指针域 // ListNode (int x): val(x), next(NULL) {}};case 1 就地反转链表【LeetCode 206】示例:input: 1->2->3->4->nullptroutput: 4->3->2->1->nullptr思路:

2020-10-19 17:36:29 701

原创 map/unordermap的使用

1. 当用enum做keyenum可能会出现无法hash的问题,用下面办法解决struct EnumClassHash{ template <typename T> std::size_t operator()(T t) const { return static_cast<std::size_t>(t); }...

2019-10-14 17:32:00 765

转载 protobuf反射详解

本文主要介绍protobuf里的反射功能,使用的pb版本为2.6.1,同时为了简洁,对repeated/extension字段的处理方法没有说明。最初是起源于这样一个问题:给定一个pb对象,如何自动遍历该对象的所有字段?即是否有一个通用的方法可以遍历任意pb对象的所有字段,而不用关心具体对象类型。 使用场景上有很多:比如json格式字符串的相互转换,或者bigtable里根据pb对象...

2018-12-12 20:22:44 2115

原创 python concurrent.futures库的介绍

一、类Executor (class concurrent.futures.Executor)一个提供了异步回调函数的接口抽象类,具体实现是两个子类:ThreadPoolExecutor和ProcessPoolExecutor,类中定义了如下函数:submit(fn, *args, **kwargs)这个函数,其实是在提交执行任务,然后立即返回,并不会等fn执行完毕或者超时才返回,返回值...

2018-10-16 16:15:10 453

转载 python concurrent.futures

python因为其全局解释器锁GIL而无法通过线程实现真正的平行计算。这个论断我们不展开,但是有个概念我们要说明,IO密集型 vs. 计算密集型。IO密集型:读取文件,读取网络套接字频繁。计算密集型:大量消耗CPU的数学与逻辑运算,也就是我们这里说的平行计算。而concurrent.futures模块,可以利用multiprocessing实现真正的平行计算。核心原理是:concu...

2018-10-15 20:07:34 281

转载 [C 11]std::promise介绍及使用

一、std::promise介绍std::promise是C++11并发编程中常用的一个类,常配合std::future使用。其作用是在一个线程t1中保存一个类型typename T的值,可供相绑定的std::future对象在另一线程t2中获取。二、代码示例:下面我们通过几个简单小例子逐渐深入了解std::promise的使用方法。示例1:#include <iost...

2018-10-15 16:34:46 2300

转载 C++11 并发指南一(C++11 多线程初探)

引言C++11 自2011年发布以来已经快两年了,之前一直没怎么关注,直到最近几个月才看了一些 C++11 的新特性,今后几篇博客我都会写一些关于 C++11 的特性,算是记录一下自己学到的东西吧,和大家共勉。相信 Linux 程序员都用过 Pthread, 但有了 C++11 的 std::thread 以后,你可以在语言层面编写多线程程序了,直接的好处就是多线程程序的可移植性得到了很大...

2018-10-15 14:45:07 164

转载 C++11 多线程同步 互斥锁 条件变量

这个是很实用的一部分转自:https://blog.csdn.net/yangbodong22011/article/details/60348742在多线程程序中,线程同步(多个线程访问一个资源保证顺序)是一个非常重要的问题,Linux下常见的线程同步的方法有下面几种:互斥锁条件变量信号量这篇博客只介绍互斥量和条件变量的使用。互斥锁和条件变量通常情况下,互斥锁和条件变量是配合使用的,互斥锁用于短...

2018-06-25 17:45:17 704

原创 bazel与C++

本文是对于bazel使用的一个学习小册子。转帖请注明出处~官网http://www.bazel.io/安装步骤sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-java8-installerecho "deb [arch=amd64] http://storag...

2018-04-03 15:46:54 1788

原创 梯度下降算法推导(机器学习系列-1)

梯度下降算法推导(机器学习系列-1)  在网上能够搜到很多关于梯度下降算法的文章,但找了几篇发现推导都不能很好的理解(也可能是愚生数学功底差),本文将着重从数学角度讲述一下梯度下降算法的数学推导。梯度下降算法理论  梯度下降算法源自于线性回归模型的cost function 最小值计算,在线性回归中,我们通过一个拟合函数: h(θ)=θ0+θ1∗x1h(\theta)=\theta_0+\

2017-03-17 12:02:29 7380 6

原创 C++11学习(4)——枚举类

在现有的C++中有枚举类型,关键字为enum,然则它会存在三个问题:1. 在那些不需要枚举类型表现为int类型时,它却默认表现为int类型,这会导致错误发生。2. 可转换的枚举会使得他的枚举值在其周围的代码范围内都是可见的,这可能会导致名字冲突。3. 不可以指定枚举底层数据类型(只能是int型),这可能导致代码代码不容易被理解和兼容性问题,而且不可以进行前向声明。针对这些隐

2014-11-26 16:21:16 601

原创 C++11学习(3)——auto

autoauto是一个设计者十分用心良苦的关键字,它的功能非常强大也非常友好,我估计我之后会多次修改本文,不费话了。1.从初始化中推断数据类型,当我们懒得写名字(特别是那种很长的带泛型的带STL的名字),而且能确定其类型无二义编译器推得出来,就可以用auto代替了,比如初始化数据就是。格式: auto x = expression;例如: auto x = 7;或:

2014-11-25 16:46:15 580

原创 C++11学习(2)——属性

attributesC++11提供了4个guanjia

2014-11-24 16:28:54 675

原创 C++11学习(1)——对齐方式

c++是能够面向内存编程的,这个与继承自c。有

2014-11-24 16:02:56 1347

原创 C++ Primer(4th)文本查询自编代码

C++primer第四版的十五章,文本查询,这块儿代码

2014-10-07 19:45:44 669

原创 我与C++设计模式(二十二)——解释者模式

终于到这里了,长吸一口气,

2014-10-06 22:55:12 816 1

原创 我与C++设计模式(二十一)——迭代器模式

迭代器模式,不用过多的介绍,迭代器在STL中是极具重要地位的

2014-10-06 22:54:30 513

原创 我与C++设计模式(二十)——职责链模式

过了visitor后,

2014-10-06 22:09:05 555

原创 我与C++设计模式(十九)——访客模式

UML图:

2014-10-06 20:38:50 1011

原创 我与C++设计模式(十八)——命令模式

command模式就是

2014-10-06 16:01:13 576

原创 我与C++设计模式(十七)——中介者模式

中介者

2014-10-06 11:38:41 655

原创 我与C++设计模式(十六)——memento模式

这个模式通常被翻译为备忘录模式,我并不是很欣赏这个翻译,b

2014-10-05 22:00:25 726

原创 我与C++设计模式(十五)——观察者模式

毋庸置疑,observer模式的地位是十分zhong

2014-10-05 19:32:55 538

原创 我与C++设计模式(十四)——状态模式

state模式实现了状态逻辑和动作实现的fenli

2014-10-05 15:28:19 470

原创 我与C++设计模式(十三)——策略模式

策略模式的qiy

2014-10-04 17:12:25 514

原创 我与C++设计模式(十二)——模板模式

template模式是个比较容易理解的模式,就是

2014-10-04 17:09:35 410

原创 我与C++设计模式(十一)——代理模式

其实我看完代理模式后,总是在想,这和adapter差别到底在哪里?

2014-10-04 16:06:51 514

原创 我与C++设计模式(十)——外观模式

facade设计模式sjhi

2014-10-04 15:59:15 428

原创 我与C++设计模式(九)——享元模式

享元模式,Flyweight,在面向对象she

2014-10-03 11:13:17 465

原创 我与C++设计模式(八)——组合模式

组合模式

2014-10-02 22:00:53 437

原创 我与C++设计模式(七)——装饰者

装饰者这个模式不好理解,或者说是我自己lijie

2014-10-02 19:33:15 666 1

原创 我与C++设计模式(六)——适配器

桥接模式的这个骨头过去感觉好一点了

2014-10-01 22:40:09 489

原创 我与C++设计模式(五)——桥接模式

至此

2014-10-01 15:34:25 524

原创 我与C++设计模式(四)——prototype pattern

我故意将bia

2014-10-01 10:20:59 1006

原创 我与C++设计模式(三)——建造者Builder

Builder的定义就是:将一个fu

2014-09-30 22:32:08 586

原创 我与C++设计模式(二)——单例模式

单例模式应该是我接触设计模式时最早学会的一个设计模式,它比较简单易懂,目的就一个,设计出能只能创建一个对象的类。上代码:singleton.h//singleton.h#ifndef _SINGLETON_H__#define _SINGLETON_H__#include class singleton{ private:

2014-09-30 15:53:45 505 1

原创 我与C++设计模式(一)——工厂的一家

怎么一大早起来发现昨天晚上写的博客不见了,是没通过审核么?那也应该告诉我一声啊,是没保存么,那草稿箱里应该有自动保存的啊,亲,别耍我了,哎,设计模式处女篇就这么无声无息的不翼而飞了,我决定在来一篇。 工厂模式之一家三代——简单工厂模式,工厂模式,抽象工厂模式。 简单工厂模式简单工厂模式是比较容易理解的,首先为什么要有简单工厂模式,工厂嘛,就是干粗活儿的地方,干什么粗活儿?在面向...

2014-09-30 09:46:24 662 1

原创 关于析构函数和纯虚函数

之前一直不知道,虚析构函数yo

2014-09-29 22:18:33 2318 2

任务栏修复.vbs

电脑任务栏不正常,可以试试这个修复一下.下载本文档,请双击。只针对windows XP系统

2012-03-05

西安电子科技大学数据结构笔记

西安电子科技大学 上课笔记 希望对考研的人有帮助

2011-04-06

空空如也

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

TA关注的人

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