- 博客(3)
- 资源 (3)
- 收藏
- 关注
原创 构建堆的时间复杂度
大顶堆、小顶堆是一种很常用的数据结构,例如常见的堆排序和topk算法,在很多应用场景中,我们经常会关注算法时间复杂度和空间复杂度,众所周知构建堆的时间复杂度是o(n),那么为什么是o(n)?本文主要跟大家讨论下这个问题。堆是一颗完全二叉树,假设有n个节点,树高证明方法如下: 1. 假设根节点的高度为0,叶子节点高度为h,那么每层包含的元素个数为2^h 2. 构建堆的过程是自下而上,对于每层非叶
2017-02-26 19:11:41 16954 6
原创 函数指针的理解
函数指针,顾名思义就是指向函数的指针,为什么需要函数指针,函数指针的作用是什么? 函数指针一共有两个作用:调用函数和作为函数的参数。 1:首先写个例子: 代码中实现了一个test函数,然后在main函数中调用。 (1):首先看代码中的12,13行,12行的调用不需要解释,我们平时就是这样来调用函数的,但是13行这种方式调用就有点费解了。 就像每个变量有自己的地址一样
2013-01-10 11:54:40 576
原创 linux 下程序的执行方式
在linux下要执行一个可执行的文件很简单,比如自己写了一个test.cpp,然后通过g++ test.cpp 进行编译,如果程序无错,linux会默认生成a.out的可执行文件。可直接通过 ./a.out的方式执行。 linux下运行可执行文件方法: /路径/可执行文件。上面提到的./a.out中./就是指当前路径。 自己在理解的时候遇到两个问题。 1:
2013-01-06 15:21:59 617 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人