![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法分析
鬼话连篇夏洛克
寻求顿悟
展开
-
如何区分数组指针和指针数组?
#include<iostream> using namespace std; int main(){ int c[4] = {1,2,3,4}; int *a[4]; //数组指针 数组里存储的是指针 int (*b)[4]; //指针数组 指针指向的是数组; b =&c; for(int i=0;i<4;i++) { a[i] = &...原创 2020-04-28 22:05:07 · 335 阅读 · 0 评论 -
关于数组越界问题的有关讨论
首先理解数组的定义: 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 数组有两个特点: 其一:线性表 线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。 其二:连续的内存空间和相同类型的数据。 正是因为这两个限制,它才有了一个堪称“杀手锏”的特性:“随机访问”...原创 2020-04-02 11:13:31 · 343 阅读 · 0 评论 -
时间复杂度与空间复杂度学习笔记
目录 为什么进行时间复杂度分析? 大O复杂度表示法 时间复杂度分析 1、只关注循环执行次数最多的一段代码 2、加法法则:总复杂度等于量级最大的那段代码的复杂度 3、乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积 几种常见的时间复杂度实例分析 1、O(1) 2、O(logn)、O(nlogn) 3、 O(m+n)、O(m*n) 空间复杂度 均摊时间复杂度 为什么进行...原创 2020-04-01 15:31:44 · 211 阅读 · 0 评论 -
算法分析(1)——数学基础
首先我们需要掌握计算运算时间的重要结论: 法则1:T1(N)=O(f(N))且T2(N)=O(g(N)),那么:(a)T1(N)+T2(N)=max(O(f(N)),O(g(N))), (b) T1(N)*T2(N)=O(f(...原创 2018-11-05 16:54:02 · 810 阅读 · 0 评论