【基础Back to base】数据结构相关Tips(1)

大O表示法

大O表示法表示算法的复杂度,也就是算法有多快。

  • O(log n) 对数时间,二分查找
  • O(n) 线性时间,简单查找
  • O(n * log n) 快速排序
  • O(n ** 2) 选择排序
  • O(n!) 旅行商问题

数组&&链表

数组占用的内存是相连的

内存是通过存储下个数据的地址来串连的

数据的访问方式
1. 随机访问
2. 顺序访问

数组的读取速度很快

链表的插入和删除速度很快

递归

递归函数包括
1. 基础条件,用于调用自己
2. 递归条件,用于跳出递归

栈&&调用栈

栈的操作
1. 压入
2. 弹出

栈的特点: 先进先出

调用栈:当调用另一个函数时,当前函数是暂停状态,内存并没有被释放

递归会占用大量内存

时间: 2025-01-01 23:57:01

【基础Back to base】数据结构相关Tips(1)的相关文章

2000条你应知的WPF小姿势 基础篇<74-77 WPF 多窗口Tips>

原文:2000条你应知的WPF小姿势 基础篇<74-77 WPF 多窗口Tips> 在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000Things You Should Know About C#  和 2,000 Things You Should Know About WPF .他以类似微博式的150字简短语言来每天更新一条WPF和C#重要又容易被遗忘的知识.很希望能够分享给大家. 本系列我不仅会翻译他的每一个ti

路由基础知识:PIM的相关配置

PIM是Protocol Independent Multicast(协议无关组播)的简称,表示可以利用静态路由或者任意单播路由协议(包括RIP.OSPF.IS-IS.BGP等)所生成的单播路由表为IP组播提供路由.组播路由与所采用的单播路由协议无关,只要能够通过单播路由协议产生相应的组播路由表项即可. 要把路由器配置为HSRP备份组的成员,可以在接口配置模式下使用下面的命令: router(config-if)# standby group-number ip ip-address 为了使一个

路由基础知识之PIM的相关配置总结

PIM是Protocol Independent Multicast(协议无关组播)的简称,表示可以利用静态路由或者任意单播 路由协议(包括RIP.OSPF.IS-IS.BGP等)所生成的单播路由表为IP组播提供路由.组播路由与所采用的单播路由协议无关,只要能够通过单播路由协议产生相应的组播路由表项即可.要把路由器配置为HSRP备份组的成员,可以在接口配置模式下使用下面的命令:router(config-if)# standby group-number ip ip-address为了使一个路由

《敏捷制造——敏捷集成基础结构设计》——1.2相关问题的国内外研究现状

1.2相关问题的国内外研究现状 1.2.1 敏捷化理论及其研究现状 敏捷企业概念是与敏捷制造概念一起提出的.美国国会委托里海大学(Lehigh University)的lacocca研究所和美国13家大公司联合研究编写了一份"21世纪制造业企业战略"(21st Century Manufacturing Enterprise Strategy)报告[R04],首次提出了"敏捷制造"(Agile Manufacturing)和"敏捷制造企业"(Ag

C#基础知识之base关键字介绍_C#教程

一.调用基类已被派生类重写的方法 复制代码 代码如下: public class Father {     public virtual void Say()     {         Console.WriteLine("Father Say");     } }   public class Son : Father {     public override void Say()     {         base.Say();         Console.WriteLi

交换机基础知识之MLS的相关配置命令总结

MLS 分为 如下三个组件:MLS-SE:它是负责转移和重写数据包功能的交换实体.MLS-SE 是位于CATALYST 交换机监控引擎III 上的一个NETFLOW特征卡MLS-RP:它是外接的.安装有支持多层交换软件的路由器上的一个路由模块.MLSP:它是用来建立和管理MLS-SE 和MLS-RP 之间会话的一个协议.MLSP 是RSM或是路由器通告路由变化和VLANS 或是参与MLS 的接口的MAC 地址的方法.为了在路由处理器上进行动态路由配置,可以用下列IOS命令来进行:router(c

学习YUI.Ext基础第一天_YUI.Ext相关

导言 翻了翻以前的旧贴子,有值得回味的地方共分享: Post1: ................. 我们现在的大量应用依赖于浏览器(主要是 IE)的脚本处理能力,在有些老机器上跑的时候确实会略显缓慢,但是目前的主流机型处理起来已经没有任何问题了.我们设计了一整套的 Web 开发框架,这套框架将随着应用的锤炼而越来越稳定.JavaScript 用的不好容易造成 IE 的崩溃,我们是靠提高代码的重用度来解决这个问题的,因为重用度越高的代码往往越稳定. 有些眼高手低的人往往凭第一眼印象就把 Java

Ajax+PHP简单基础入门实例教程_AJAX相关

首先我们来了解怎么在javascript中创建这个对象: 程序代码 var xmlHttp = new XMLHttpRequest(); 这行简单的代码在 Mozilla.Firefox.Safari.Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 浏览器中,创建了 XMLHttpRequest 对象.但是对于市场占有率达到70%的IE来说,这种方法是不行的,而不同的IE版本还有不同的创建方法,所以我们需要在IE下面使用下面两种创建对象的办法: 程序代码 t

mysql基础(库、表相关)

一. mysql支持的数据类型 1.1 mysql支持的数字类型: TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值 INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值 BIG