数据结构与算法

1.列表:

说明:

  一种最自然的数据组织方式

  随意队列,元素不多

定义:

  有序的数据,每个数据项称为元素元素的数量收内存控制

  不包含任何元素的列表为空列表

迭代器:

  不必关心底层数据结构

代码实现

  

 

2.栈

概念

  特殊的列表

  搞笑的数据结构,只能在栈顶删除或者增加,操作很快

定义

  只能从一端访问一端为栈顶(反之栈底)

  后入先出的数据结构

  插入元素,成为进栈,压栈,入栈

代码实现

3.队列

概念

  队列只能操作队首或者队尾

  队列增加元素只能从队尾入,出队只能队首出

  先入先出的数据结构

  如果有特殊情况则为优先队列,可以不用遵守先入先出的原则

代码实现

 

优先队列 为元素添加权重

链表

概念

  由一系列节点组成的集合,每一个节点都是用一个对象的引用 

散列表

关键概念定义

1.数组长度是预先设定的,可以随时增加,所有元素根据和钙元素对应的键,保存数组特定位置

2.即使使用高效的散列函数,仍然存在两个键值相同的情况,这种现象称为碰撞

3.数组的长度应该是一个质数,所有的策略都基于碰撞

4.开链法:两个键相同保存位置一样,开辟第二数组,也称第二个数组为链

5.线性探测法属于开放寻址散列,查找散列位置,如果当前位置没有继续寻找下一个位置。存储数据较大较合适。数组大小>=1.5*数据(开链法),数组大小>=2*数据(线性探测法)

代码实现

集合

不允许有相同的成员

空集,全集,子集

交集,并集,补集(设S是一个集合,AS的一个子集,由S中所有不属于A的元素组成的集合,叫做子集AS中的绝对补集)

 代码实现

 

二叉树:

1.父节点,子节点, 叶子结点(没有子节点),深度(层数)

2.二叉树有且最多有两个子节点,并且左节点小于右节点

3.

转载于:https://www.cnblogs.com/nanshine/p/7354444.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值