- 博客(17)
- 问答 (2)
- 收藏
- 关注
原创 数据结构学习笔记(18)---B树
(1)什么是B树,其实有一个另外的没名字叫B-树,所以网上说的B-树其实就是B树。B树的定义: (1) 首先B树是一棵平衡的m路查找树,树中每个节点的最多有m个子树。 (2) 根节点最少有两个子树。 (3) 除根节点以外的非叶子结点最少有[m/2]个子树。 (4) 所有叶节点出现在同一层上,并且不含信息,通常称为失败节点,目的是便于分子B树的查找。 好了,满足上述条件就是一个标准的B树了,
2017-10-28 17:09:50 1431
原创 数据结构学习笔记(17)---归并排序与基排序
(1)归并排序算法思想: (1)对于一个人数组,首先把数组平均分为两部分,即[low,mid]和[mid+1,high], (2)分别对左右两部分进行再进行归并排序。 (3)将左右两步部分合并 例如以下例子:开始将数据看成长度为1的有序表,两两归并为长度为2的表,依次类推直到长度为n的有序表 性能分析:平均时间复杂度O(nlogn),空间复杂度O(1),比较稳定代码:void Merge(
2017-10-28 14:02:31 526
原创 github创建仓库克隆到本地以及分支操作命令
(一)github上创建仓库 (1)注册GitHub账号(进入官网直接可以注册) (2)注册完成后进行第一个repositories的尝试,单机有右上角的+标志,进行new repositories (3)填写项目名称Repository name 这里用Hello_World。 Public、Private在这一栏可以选择Public 还是Private。这里我们 选择Pub
2017-10-26 23:06:59 4728 1
原创 git常用命令总结(1)
(1)创建一个人目录,并该一个目录 mkdir git_hello cd git_hello(2)初始化有个仓库: git init 在该目录下出现 .git文件 (3)在该目录下添加一个源程序hello.cpp并编辑 touch hello.cppvi hello.cpp //添加代码 int main() { printf("Hell
2017-10-26 00:57:45 194
原创 Git与Github建立密钥
(1)Github是什么:GitHub 是一个面向开源及私有 软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。也就是说你的开源软件可以托管到该平台,不论你是合作开发项目还是获得开源软件都可以从该平台上Fork,并用Git参与到项目中去.(2)git 与 GitHub的建立密钥:第一步首先打开github的网页进入,如果你没有GitHub账户, 请先注册一个
2017-10-25 23:57:47 760
原创 Git简介
通过两个星期的学习,虽然还没有完全深入掌握git与GitHub的使用,但是对于简单的软件开发流程与基本的操作还是掌握的不错的,最主要的原因是选了一本好的教材—-《GitHub 入门与实践》,这本书真心讲的不错,可以说的手把手教学,真心体会到作者的用心良苦,非常适合初学者,建议以此本书作为入门教材,话不多说了,接下来就对这两个星期的学习做一番总结与回顾吧。(一)Git是什么?Git是分散性版本控制系统
2017-10-24 22:56:53 244
原创 数据结构学习笔记(16)---选择类排序
数据结构学习笔记(16)—选择类排序选择排序思想就是第一次选出关键字最小的的记录作为第一个,然后然后就是除了第一个人元素外再去选取一个人最小的元素放在第二个,依次循环知道全部记录有序为止。但是这样效率会有点低,为了改进算法的效率而又提出了树形选择排序和堆排序,下面进行一一介绍:(1)简单选择排序:选择排序的基本思想:每一趟在n-i+1(i=1,2,3,…,n-1)个记录中选取关键字最小的记录作为有序
2017-10-23 00:38:26 1081
原创 数据结构学习笔记(15)---交换类排序
数据结构学习笔记(15)—交换排序交换类排序其实一般就两种,一个就是冒排序,另一个就是快速排序,比较两张算法,肯定是快排效率较高,原因很简单,对于冒泡排序只能与相邻的元素进行比较,互换时候只能消除一个逆序,但是快排通过两个不相邻的元素交换,可以消除待排序记录中的多个逆序,即后面的元素不需要再做无谓的逆序了。(1)冒泡排序比较简单,简单说下算法思路:过程:a. 从第一个记录开始和第二个记录比较,如果大
2017-10-22 16:35:38 387 1
原创 数据结构学习笔记(14)---插入排序
数据结构学习笔记(14)—内部排序基本思想:在一个已经排好序的记录子集的基础上,每一步将下一个人等待排序的记录有序插入到已经排序的记录子集上,知道所有待排序记录全部插入为止。(1)直接插入排序:直接插入排序其实很简单,从第二个元素开始,逐步插入到已排序子序列中。其比较实用与排序记录数比较少的情况,排序数目较大时,该算法排序性能不太好。代码如下:void InsertSort(int a[], int
2017-10-22 14:42:13 264
原创 数据结构学习笔记(13)---哈希查找
(1)哈希查找的思想:首先根据一个人关键字映射该关键字的地址,即若关键字为k,确立一个人函数p = H(k),此时p就是该关键字的存储地址,当查找一个人关键字的时候就可以根据函数计算出相应的地址。(2)哈希函数构造原则:一是函数本身便于计算,二是计算出来的函数遍布均匀,尽可能减少冲突。哈希函数常有五种:a**.数字分析法**:事先知道该关键字集合,并且每个关键字的位数比哈希表地址位数多,则可以从关键
2017-10-22 13:12:03 701
原创 MFC 加入背景音乐
对于加入背景音乐的问题,首先我用的是playSound()函数,此函数虽然可以播放声音,但是当另为一个人声音出现时,原声音被打断,即此方法不能当做背景音乐,在此介绍两种添加背景音乐的两种方式:(1)利用线程,即开辟一个新的线程单独作为播放音乐,此时可以用playSound()函数,代码如下:#include <mmsystem.h>#pragma comment(lib, "WINMM.LIB")
2017-10-17 22:19:25 4568 1
原创 MFC透明贴图问题
对于透明贴图从网上找了很多资料,但是只有收获甚小,还是从一位老铁的开源项目中学到透明贴图的解决方案:(一)首先说下我的搜索结果吧,我的解决方案中是用一个函数搞定的: TransparentBlt(pDC->m_hDC,point.x, point.y, 109, 86,memDC.m_hDC,0, 0, 109, 86, RGB(0, 0, 0));该函数的参数原型为:BOOL Transpare
2017-10-17 13:27:38 539
原创 数据结构学习笔记吧(11)---基于树的查找
(1)二叉排序树定义:该二叉树或者是一棵空树或者是一棵具有下列性质的树: 1. 若他的左子树非空,则左子树上所有节点的值均小于根节点的值 2. 若他的右子树非空,则右子树上所有节点的值均大于(等于)根节点的值 3. 他的左子树与与右子树也分别是二叉排序树二叉排序树的插入思路: 1. 首先判断二叉树是否为空,若为空则可以直接把当做根节点 2. 若非空,则key与根节点进行比较 a.
2017-10-14 16:11:02 170
原创 数据结构学习笔记(10)---基于线性表的查找
(1)顺序查找顺序查找比较简单,其思路就是从顺序表的头部或者尾部依次查找数组,直到查找数值为止。其平均查找长度为:ASL = (n+1)/2 代码如下:int SearchByIndex(int* arr,int length,int key){ while (-1 != --length) { if (key == arr[length]) {
2017-10-14 16:10:08 285
原创 数据结构学习笔记(12)----平衡二叉排序树
定义:左子树与右子树的高度之差的绝对值小于等于1 左右子树也是平衡二叉树 a.平衡因子定义: 节点的左子树与右子树的深度之差** 例如: 平衡树的平衡方法:(1)LL型 B = A->lchild; A->lchild = B->rchild; B->rchild = A; A->bf =
2017-10-14 16:07:20 1191
转载 当你在浏览器上,指尖轻轻输入 www.taobao.com 以后发生了什么?
本文转载自微信推送博文当你在浏览器上,指尖轻轻输入 www.taobao.com 以后发生了什么?本文从你按下浏览器的确定键开始分析,一直到你如何找到商品结束。适合各类读者了解你仅仅访问一次淘宝的首页,所涉及到的技术和系统规模,本文作者名叫孙放,著于他在淘宝实习期间。你发现快要过双十一了,于是想给你的男/女朋友买点儿礼物,你打开了淘宝。下面来看看,当你在浏览器轻轻www.taobao.com 以
2017-10-12 21:56:06 28692
原创 哈夫曼编码
今天中秋节,同学都回家了,自己离家太远待在宿舍无聊就看看哈夫曼代码,顺手写了写,特此博客一篇,望多多指教:对一组数进行哈夫曼树的构建:假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:(1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,
2017-10-04 15:27:11 479
空空如也
求java语言程序设计中的一个编程题
2016-12-27
求代码,感觉还是太菜,像求大神写代码以作参考
2016-12-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人