数据结构 - 堆栈

1 堆栈的主要操作2 栈的顺序存储栈的顺序存储结构通常由一个一维数组和一个记录 栈顶元素位置的变量组成。#include<iostream>#include<vector>using namespace std;#define MAX 100typedef struct SNode* StackPtr;struct SNode { int data[MAX]; int top;};StackPtr pushStack(StackPtr Stack
分类: 其他 发布时间: 01-16 22:46 阅读次数: 0

容器 - unordered_map

unordered_map是C++ Boost库中的内容,这里的unordered指的是散列式的存储方式。 unordered库提供了两个散列映射表,unordered_map和unordered_multimap。 利用散列表代替了二叉树的实现,模板参数中多了散列计算函数。 unordered_map和unordered_multimap查找速度是O(n)。unordered_map属于关联式容器,采用std::pair保存key-value形式的数据。用法与map一致。 特别的是,STL中的m
分类: 其他 发布时间: 01-16 22:46 阅读次数: 0

数据结构 - 快速排序

利用快速排序算法对结构体进行排序,首先按照 data 的值进行升序排列,若 data 值相等则按照 index 值进行升序排列。对于该题若是数据量较少,可以使用的排序方式很多,比如:冒泡排序等等。 若是数据量较大,则应当选择时间复杂度较低的算法,快速排序算法则是比较好的选择。 快速排序的时间复杂度为 nlogn。快速排序主要步骤在数组中选择一个基准值(通常选择第一个元素为基准值); 将数组中小于基准值得数据移动到基准值的左边,大于基准值的数据移动到基准值的右边; 对于基准值左右两边的数据重
分类: 其他 发布时间: 01-16 22:46 阅读次数: 0

线性链式表按序号查找

在链表等的操作中,为了安全起见,一般对于按照地址传递的链表等,都应该首先进行赋值操作。然后在子函数中直接操作子函数。对于链表循环可以直接判断链表是否为空即可(while(ptr){ })。利用结构体返回时应当依据定义的结构体元素类型进行返回,不能返回与结构体类型不一致的情况。ElementType FindKth( List L, int K ){ List ptr = L; int i = 1; while(ptr){ if(i == K){
分类: 其他 发布时间: 01-16 22:46 阅读次数: 0

C++| 引用 重载 对象初始化

1 引用引用就是给一个变量取“别名”,这也就意味着引用值(别名)改变的话,原值必然也跟随改变。引用的本质是指针常量(编译器内部会自动完成指针操作)。int a = 15;//自动转换为 int* const ref = &a//指针常量的指向不会变化,印证了引用不可变的特性int& ref = a;1.1 常量引用常量引用主要用来修饰形参,防止误操作引用值,进而改变原始变量的值。//引用通常用来修饰形参//这里形参增加const之后,在该函数中v值不可发生
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

C++ | STL (Standard Template Library)

1 STL定义STL实现数据结构和算法的分离;STL基于模板而不是面向对象。STL中体现了泛型化程序设计的思想,引入了诸如需求(requirements),概念(concept),模型(model),容器(container),算法(algorithmn),迭代子(iterator)等。2 STL组件介绍容器(Container),是一种数据结构,如list,vector,和deques ,以模板类的方法提供。为了访问容器中的数据,可以使用由容器类输出的迭代器。迭代器(Iterator),提
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

C++ 标准模板类

文档目录1 标准模板库2 泛型编程1 标准模板库STL提供了表示容器、迭代器、函数对象和算法的模板。容器:类似数组存储若干值,切实同质的; 迭代器:遍历容器的对象,类似遍历数组的指针,广义指针; 算法:完成特定的任务; 函数对象:类对象或函数指针。模板类 vectorerase() 删除矢量中给定区间元素。接受两个迭代器参数(该参数定义了要删除的区间),迭代器1指向区间起始处,迭代器2指向区间终止处的后一个位置。// delete first and second el
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

C++| 对象和类

1 C++的类1.1 访问控制数据隐藏(数据放在私有部分)是一种封装,实现细节隐藏其中。 类定义和类声明放在不同的文件中。 类的公有接口和实现细节分开。 数据项放在私有部分,组成类接口的成员函数放在公有部分。成员函数(非接口)也可以放在私有部分。1.2 类成员函数定义成员函数时用域解析运算符(::)标识函数所属的类。 限定名(qualified name)<利用域解析运算符,包含类名>和非限定名(unqualified name),非限定名只能在类的作用域中使用。(1
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

Caffe | layer

目录1 Acitivation / Neuron LayersReLU / Rectified-Linear and Leaky-ReLU LayerPReLUSigmoid2 Utility LayersFlatternSliceConcatEltwise1 Acitivation / Neuron Layers主要介绍激活层/神经元层包含的layerReLU / Rectified-Linear and Leaky-ReLU LayerReLU中通..
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

TensorFlow Lite

0 TFlite 基本概念TFlite(TensorFlow Lite)是为了将深度学习模型部署在移动端和嵌入式设备的工具包,训练好的模型通过转化、部署和优化可以提升运算速度、减少内存和显存。简单说就是为了能在App上使用TF模型所做的转换。TFlite的设计旨在各种设备上高效运行DL模型,高效的原因在于存储模型使用了FlatBuffer格式。TensorFlow Lite 提供了转换 TensorFlow 模型,并在移动端(mobile)、嵌入式(embeded)和物联网(IoT)设备上运行
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

量化 | Posting-training quantization

量化训练后量化可以在改善 CPU 和硬件加速器延迟的同时缩减模型大小,且几乎不会降低模型准确率。动态范围 / 全整数 / float16量化 Technique Benefits Hardware Dynamic range quantization 4x smaller, 2x-3x speedup CPU Full integer quantization 4x smaller, 3x+ speedup CPU, Edge TPU, Microcon
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

深度学习模型在移动设备的部署

传统部署方法使用了深度学习技术的移动应用,通常都是直接依赖云服务器来完成DNN所有的计算操作,但这样做的缺点在于移动设备与云服务器之间的数据传输带来的代价并不小(表现在系统延迟时间和移动设备的电量消耗)。对于所有使用深度学习技术来处理图像、视频、语音和文本数据的个人智能助手而言,目前工业界通常的做法是,利用云服务器上强大的GPU集群资源来完成应用程序的计算操作(以下简称为现有方法)。目前运行在移动设备上的个人智能助手(例如Siri、Google Now和Cortana等)都是采用这种做法。我们会
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

CPU / GPU / NPU

CPU -- Central Processing Unit 中央处理器。GPU -- Graphics Processing Unit, 图形处理器,采用多线程SIMD架构,为图形处理而生。NPU -- Neural Network Processing Unit,神经网络处理器,是基于神经网络算法与加速的新型处理器总称,如中科院计算所/寒武纪公司出品的diannao系列。TPU -- Tensor Processing Unit 张量处理器, Google 公司推出的加速人工智能算法的专用处
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

shell 命令格式

bash #进入子shellexit #退出子shell变量变量的赋值符号两边不能有空格,当变量的值引用另一个变量时,用 “ ” 将变量的值括起来。 " " 可以解析变量的值;' ' 不能解析变量的值,会当做字符串处理。 设为环境变量可以在子程序(bash开启的子shell)中使用。Var_name=value #定义变量echo $Var_name #查看变量名Var_name2="$Va...
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

C++ | 简单文件输入/输出

结合实例详细介绍C++里面关于文本文件的写入/读取操作,同时讲述在实际应用中的一些注意事项。
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

C++ | 字符函数库 cctype

C++的字符函数库 cctype 介绍。
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

C++ | 函数-程序模块

阐述C++的函数及相应的知识点。指针和引用。函数返回值。函数和数组。
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

C++ | 函数重载 / 模板 / 引用传参等

1 C++内联函数内联函数是C++为提高程序运行速度做的改进。与常规函数的区别在于C++编译器如何将他们组合到程序中。函数定义前加 Inline。编译器将使用响应的函数代码替换函数调用,对于内联代码程序无需跳转到另一个位置执行代码。相比较而言提高了代码运行速度,但是需要占用更多的内存(若程序在多个不同的地方调用同一个内联函数,则该程序将包含该内联函数的多个副本)。内联函数通常省略原型,将整个定义(函数头和所有函数代码)放在原型的地方。内联函数优于C 语言中的宏定义 #define,C+.
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

编译原理 | 编译原理概述

语言处理器:一个集成的软件开发环境。其中包括多种语言处理:编译器、解释器、汇编器、连接器、加载器、调试器以及程序概要提取工具。
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0

Linux | 系统状态查看 / 文本文件处理命令

1. 详细介绍文本文件的处理命令;2. 介绍LINUX系统的文本处理机制以及简介。
分类: 其他 发布时间: 01-16 22:45 阅读次数: 0