自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据迁移实践

      4月下旬,进入了公司的核心升级项目,前期一直处于需求开发阶段。虽然内心一直告诫自己:一定要进行阶段性的总结。但终究还是没能逃过惰性的掌控,这一拖就到了8012的年底。      这一年来,需要总结的内容主要有以下几点:账单云系统升级——历史账单数据迁移 核心升级项目 数据迁移还是从第三点,最近几周的工作开始说吧。      11月中旬,核心项目功能性开发基本完成,并进...

2018-12-09 00:54:14 254

原创 二叉搜索树的搜索、插入、后继、删除

二叉搜索树二叉搜索树是以二叉树是形式表示的,这样就可以使用一个二叉链表来表示二叉搜索树了。对于任何结点x,其左子树的关键字的值不大于x.key,右子树的关键字不小于x.key。二叉搜索树支持Insert、Delete、Search、Maximum、MInimum、Predecessor(前驱结点)、Successor(后继结点)等操作。二叉搜索树的基本操作与树的高度成正比,对于一个有n个结点的完

2016-02-17 15:13:07 745

原创 对局部性原理的一点理解

一个编写良好的计算机程序常常具有良好的局部性。也就是说。它们倾向于引用临近于其他最近引用过的数据项的数据项,或者最近引用过的数据项本身。这汇总倾向性,就被称为局部性原理,这是一个持久的概念,对硬件和软件系统的设计和性能都有着极大的影响。局部性通常有两种不同的形式:时间局部性和空间局部性。在一个具有良好时间局部性的程序中,被引用一次的存储器位置很有可能在接下来时间内再被多次引用。在已给具有良好空间局

2016-01-23 19:02:59 4324 3

原创 编程珠玑:关于展开循环

关于展开循环对程序性能的影响昨天看到了CSAPP上优化程序性能一章,印象最深的一点是关于展开循环的描述。关于展开循环,上面是这样描述的:**展开循环是一种程序变换,通过增加每次迭代计算的元素的数量,减少循环的迭代次数。**循环展开能从两方面改进程序的性能。减少了不直接有助于程序结果的操作的数量,例如循环索引计算和分支条件。提供了一些方法,可以进一步变化代码,减少整个计算中关键路径上的操作数量

2016-01-19 12:47:31 5525

原创 编程珠玑:n元一维向量左旋移i个位置

问题描述:将一个n元一维向量左旋移i歌个位置。例如:当n=8且i=3时,向量abcdefgh旋转为defghabc。使用一个n元的中间向量在n步内完成该工作。能否仅用数十字节的额外存储空间,在正比于n的时间内完成该旋移?解答思路:向量的旋移,其实就是数组的移动。像a[] = {1,2,3},左旋移一位后就变成了a[] = {2,3,1}。 该问题可以通过以下方式解决:首先将n的前i个元素复制到一

2016-01-17 11:30:46 565

原创 与大数据的第一次接触

怎么也不会想到,自己入职后会立刻接触到大数据相关的东西。来到组内的第一个任务,便是和另一个一起入职的小伙伴搭一个集群。不过还好,leader给的时间还挺充足,3天时间搭一个3个结点的小集群,让我们拿来练习,同时还要熟悉集群的相关概念。啰嗦了这么多,最后还是和小伙伴把集群搭起来了,具体过程就是:该踩的坑一个都没落下!!!!!!!(主要体现在Ambari的安装上,具体不再描述........

2018-09-01 20:27:45 248

原创 毕业一年之际,终于又打开了自己的博客

一眨眼的功夫,已经毕业一年了,突然想到自己曾经还有博客,但是应该有好久。好久。。好久。。。没打开过了。工作一年,打算陆续把这一年中发生的故事写出来。...

2018-07-21 21:59:12 643 2

原创 优先级队列——PriorityQueue

优先级队列提起优先级队列,首先想到了操作系统中的作业调度算法的相关应用,还有就是解决 Top n (一个集合中最大或最小的n的元素)之类的问题。操作系统中的作业调度有短作业优先(SJF)、先来先服务(FCFS)、时间片轮转法、优先级法等。其中,优先级法可以近似看成是利用了优先级队列,根据作业的优先级来从作业队列中选择下一个将要执行的作业。而Top n之类的问题也是这样。优先级队列可以用 * 堆 *

2016-02-10 22:17:05 434

原创 计数排序——CountingSort

计数排序计数排序是线性排序的一种。能够在线性时间内完成给定序列的排序,但计数排序应用的场景就更加具体了。基本思想:对每一个输入的元素x,确定小于x的元素个数。这样就可以直接把x放到它在输出数组中的位置了。例如,有17个元素小于x,则x应在第18个输出位置上,但当有几个相同元素时,就要略加修改。下面是算法导论中给出的伪代码:COUNTING_SORT(A, B, k) let C[0...k

2016-02-03 22:15:44 406

原创 快速排序——QuickSort

快速排序快排同归并排序一样,也利用了分治(Divide and Conquer)的思想。此外,快排还能够在原址进行排序(最多只需要常数个临时存储空间)。一个快速排序包括一下三个步骤:分解:将数组A[1…n]划分为两个(可能为空)子数组A[1…p-1]和A[p+1…n],使得A[1…p-1]中的所有元素都不大于A[p],A[p+1…n]中的所有元素都不小于A[p]。这里,下标p的计算是分解过程中的重要

2016-02-01 22:09:05 421

原创 堆排序——HeapSort

堆排序:堆排序与归并排序的时间复杂度一样,同为O(nlogn),但与归并排序不同的是,堆排序具有空间原址性:任何时候都只需要常数个额外的空间存储临时数据。堆的定义:(二叉)堆是一个数组,可以被看成是一个近似的完全二叉树。树上的每个结点对应数组中的一个元素。除了最顶层外,树应该是充满的,且为从左向右填充。二叉堆通常分为两种:最大堆和最小堆。 最大堆:堆中的最大元素存放在根节点中,并且在任

2016-01-30 20:59:43 368

原创 最大子数组问题

问题描述:输入一个具有n个元素的数组x,输出该数组中任何连续子数组中的最大和(为使问题定义更加完整,规定当所有元素均为负数时,总和最大的子数组是0)。该问题在算法导论和编程珠玑中都出现过,算法导论中给出的事采用分治策略,用递归法解决的:初始问题是要处理大小为n的数组,所以将它划分为两个大小近似相等的子数组,分别称为a和b。然后递归的找出a、b中元素总和最大的子数组,分别称为Max(a)和Max(b

2016-01-27 16:14:53 416

原创 分治法——归并排序(MergeSort)

分治法的思想:将原问题分解为几个规模较小单类似于原问题的子问题,递归地求解这些子问题,然后再合并这些子问题来建立原问题的解。分治法法在每层递归时都有如下三个步骤:分解原问题为若干子问题,这些子问题是原问题的规模较小的实例解决这些子问题,递归求解子问题合并这些子问题的解成原问题的解归并排序完全遵循分治法:将待排序的具有n个元素的序列分别分解为含有n/2个元素的子序列。使用归并排序递归地排序两个子

2016-01-26 23:51:30 614

原创 对昨天笔试题的一些总结

昨天下午,投的实习简历终于有了消息。HR发过来一套笔试题,共四个题。要求一小时之内做完并发过去,这是第一次收到这么正式的笔试题,虽然是自己线下在家里做的,但心里难免紧张。下面是最后一个题,感觉有思路,但当时没写出来。*寻找所有连接点 :有一个 n n 的整型二维数组,现随便输入一个数组内的节点坐标,请输入与此节点连接在一起的所有值相同的节点的坐标。**当输入(2, 1)后,即图

2016-01-22 17:57:37 646 1

原创 我的Blog开通啦

开通Blog,踏上征程今天开通了blog,在此记录自己平时学习的点滴,在技术的道路上前行。。。。。Coding 从”Hello World!”开始入门!#include<stdio.h>int main(){ printf("hello world!\n"); return 0;}

2016-01-16 11:42:45 258

空空如也

空空如也

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

TA关注的人

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