Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

B树和B+树的区别

B树和B+树的区别

如图所示,区别有以下两点:1. B+树中只有叶子节点会带有指向数据记录的指针(ROWID),而B树则所有节点都带有,在内部节点出现的索引项不会再出现在叶子节点中。2. B+树中所有叶子节点都是通过指针连接在一起,而B树不会。B+树的优点:1. 非叶子节点不会带上ROWID,这样,一个块中可以容纳更多的索引项,一是可以降低树的高度。二是一个内部节点可以定位更多的叶子节点。2. 叶子节点之间通过指针来连接,范围扫描将十分简单,而对于B树来说,则需要在叶子节点和...
Linux下C/C++程序开发管理(makefile)

Linux下C/C++程序开发管理(makefile)

一、引言 从我们刚开始编写一个简单的C/C++ "Hello,World!",到将其编译、运行处结果—这部分工作IDE(集成开发环境)帮我们做了,包括语法错误检查,编译,调试,执行二进制程序。大部分时间我们只关注程序代码本身的编写,如何在Linux下对C/C++源代码的 进行有效管理,包括编译、链接、调试,make工具可以帮助我们完成这部分的工作。二、从“Hello,World”说起 1、执行单个源文件 ...
C++构造函数/析构函数/赋值函数

C++构造函数/析构函数/赋值函数

在编写C++程序的时候,我们会为特定某一类对象申明类类型,几乎我们申明的每一个class都会有一个或多个构造函数、一个析构函数、一个赋值运算符重载=、以及拷贝构造函数。这些函数控制着类对象的基础操作,确保新定义的对象的初始化、完成对象撤销时的清理工作、赋予对象新值。如果这些函数的操作出错,则会导致严重的后果,所以确保这些函数的操作行为正常是非常重要的。一、编译器默认生成的函数 如果我们编写一个空类,编译器会为我们默认生成构造函数、析构函数、赋值运算符、...
朴素贝叶斯分类算法

朴素贝叶斯分类算法

之前有次考试考的是手工计算朴素贝叶斯的分类。当时没答对,后来搞明白了,不久又忘得差不多了。所以写个例子在这儿记一下。先推导一下贝叶斯公式:假定我们观察到两个事件都发生了,记做P(A?B),那么我们既可以认为先发生了事件A,在此基础上又发生了事件B,也可以认为先发生了事件B,在此基础上又发生了事件A。所以这两个事件发生的概率,可以记做P(A?B)=P(A|B)*P(B) 和 P(B?A)=P(B|A)*P(A),其中P(A|B)、P(B|A)是条件概率,意思...
testing - 测试基本使用接口

testing - 测试基本使用接口

testing - 测试基本使用接口当你写完一个函数,结构体,main之后,你下一步需要的就是测试了。testing包提供了很简单易用的测试包。写一个基本的测试用例测试文件的文件名需要以_test.go为结尾,测试用例需要以TestXxxx的样式存在。比如我要测试utils包的sql.go中的函数:func GetOne(db *sql.DB, query string, args ...interface{}) (map[string][]byte, e...
TCP的阻塞和重传机制

TCP的阻塞和重传机制

网络拥堵现在网络上大部分的网络请求都是以TCP的方式进行传输的了。网络链路是固定的,各种链路情况也是不一样的。网络拥堵一直是TCP协议设计和使用的时候尽力要避免的。比如,从TCP协议的网络包协议设计来看,TCP使用一发一答的ACK的网络包确认方式,而不是使用NAK这种会增加确认包的方式来做确认机制。这个就是在尽力降低网络上的包传递数量,避免网络拥堵。还有哪些控制网络拥堵的方式呢?慢启动当一个连接连接上网络的时候,并不应该一次向网络中就发送大量的数据包,否则...
Java中变量命名和引用变量的一个问题

Java中变量命名和引用变量的一个问题

这次有两个主题,第一个太简单啦,就是Java中变量的命名规则,纯记忆性东西。第二个主题,就是讨论一下对象引用变量的一个注意点。如果你对命名规则很熟啦,就直接看第二个内容吧。(上边的图稍微有点顺序紊乱啊)一、Java中变量的命名规则大多数语言的命名规则是相似的,只有一些微小的差别。变量的第一个位置,可以是字母,下划线(_),美元符($) (这个在c/c++,python中是不行的)(注意:不能是数字哦,一想就知道啦为什仫)其他的位置可以是数字,字母,下划线不...
常用的JavaScript设计模式

常用的JavaScript设计模式

阅读目录什么是设计模式单体模式:工厂模式:单例模式观察者模式(发布订阅模式)策略模式模板模式代理模式外观模式设计模式太多了,貌似有23种,其实我们在平时的工作中没有必要特意去用什么样的设计模式,或者你在不经意间就已经用了设计模式当中的一种。本文旨在总结平时相对来说用的比较多的设计模式。什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 使用设计模式是为了可重用代码、让代码更容易被...
C语言常见类型占用字节数

C语言常见类型占用字节数

前言最近笔试经常遇到C语言各类型变量所占字节数的问题,这里做一个总结好了。类型常见的有char、int、long、short、float、double及指针等.字符类型这里单只char,char变量在内存中存储的是字符对应的ASCII码值。所以长度也是固定的,为1个字节。整数类型查了资料发现对各个类型的整数占用字节数是有一个规定的,虽然16位32位或者64位的机子各种类型所占用的长度并不一样。规则如下:short 至少占用2个字节。int 建议为一个机器字...
腾讯2017暑期实习生笔试题解题答案汇总

腾讯2017暑期实习生笔试题解题答案汇总

腾讯2017暑期实习生笔试题解题答案汇总构造回文题目给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子:abcda google输出例子:2 2解题思路本题可以转换为求该字符串与其反序字符串的最长公共子序列问题,...
GDB调试工具入门

GDB调试工具入门

从Windows转到Linux下已经有一段时间了,每次刷算法题碰到问题需要调试的时候,就分分钟想关机,切换到Windows上调试。于是,花了一点时间来搜索一下Linux下常见的调试工具,这不搜不知道,一搜吓一跳,居然差点错过了这么好的调试利器GDB。上手十分简单,几分钟就可以开开心心调试你的代码了。GDB概述GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。相比于VS里面的图形化调试工具,其功能更加...
C/C++的mem函数和strcpy函数的区别和应用

C/C++的mem函数和strcpy函数的区别和应用

mem系列函数是面试的时候常考的知识点,我们需要熟练掌握这三个函数的原理和代码实现,要能准确无误的写出代码。memcpy、memset和memset三个函数在使用过程中,均需包含以下头文件://在C中#include <string.h>//在C++中#include <cstring>memcpymemcpy函数是C/C++中的内存拷贝函数,它的功能是从源src所指的内存地址的起始位置开始,拷贝n个字节到目标dst所指的内存地址的...
C++知识点:单例模式的简单实现

C++知识点:单例模式的简单实现

单例模式是最常见,也是使用最广泛的一种设计模式,其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。单例模式的实现方法有很多种,本文只给出一个最简单的实现,如下:(1) 使用一个类的私有静态指针指向该类的唯一一个实例 (2) 使用一个共有的静态方法获取该实例。#include "stdafx.h"#include <iostream>using namespace std;class Singleton{pu...
强大的C/C++ 程序调试工具GDB

强大的C/C++ 程序调试工具GDB

分享下强大的C/C++ 程序调试工具GDB1.基本调试这里只列举最最常用的GDB命令。1.1 启动GDBgdb program:准备调试程序。也可以直接进入gdb,再通过file命令加载。1.2 添加断点b function:为函数设置断点。b是break的缩写,除了函数名,还可以是地址、当前执行处的+/-偏移等。1.3 运行程序run args:开始运行程序,run后面可以加程序需要的参数,就像在命令行正常运行时那样。1.4 单步调试s/n/si/c/k...
<< 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 >>