
【数据结构与算法】
数据结构
老A的AI实验室
欢迎来到「老A的AI实验室」!在这里,我们将一起踏上探索人工智能的奇妙旅程。
本博客可长期合作推广各类AI相关业务,如云计算租赁、大模型调用、AIGC培训、AI产品推广,欢迎来聊。
合作可站内私信或者关注我的微信公众号【产品老A】。
展开
-
有序查找算法(二分查找、差值查找、斐波那契查找)
1 二分查找//二分查找typedef int Rank;templateRank BinarySearch(T *A, T const& value, Rank lo, Rank hi){ if (value < A[lo] || A[hi] < value) return -1; while (lo <= hi) { Rank mid = lo + ((hi原创 2017-04-15 20:15:31 · 1172 阅读 · 0 评论 -
数据结构——简单线性表(顺序存储)
线性表的顺序存储结构指的是用一段地址连续的存储单元依次存储线性表的数据元素,譬如STL中的vector和array。STL已经封装好了基本的数据结构,我们只需直接调用即可,如果我们想实现相同功能的数据结构,可以对照STL中容器相关的结构来编写代码。下面是最简单的顺序存储结构线性表:SqList.h/* 顺序表:类似于STL中的vector和array */const int原创 2017-03-30 16:22:27 · 773 阅读 · 0 评论 -
数据结构——链表(单链表、循环链表、双向链表、静态链表)
线性表的顺序存储结构(简称“顺序表”)不仅逻辑有序,还在物理上有序存储。对于查找操作,顺序表的速度是很快的,但是对于插入和删除操作,顺序表需要移动大量元素,相当费时。而线性表的链式存储结构(简称“链表”)通过增加一个指针域来维持线性表仅在逻辑上有序,弥补了顺序表在插入和删除操作上的不足,但代价是查找需要遍历整个链表。顺序表和链表各有优缺点,适合不同的应用场合。下面对单链表、循环链表、双向链表以原创 2017-04-11 11:03:13 · 779 阅读 · 0 评论 -
数据结构——栈和队列
在前面两节简单线性表(顺序存储)和链表(单链表、循环链表、双向链表、静态链表)的基础上进一步学习栈和队列就相对容易了,栈和队列都可以看成特殊的线性表结构,不同的是栈的删除和插入操作只能在表的一端操作,而队列的删除和插入也固定在表的两端。由于线性表又顺序存储和链式存储两种结构,因此栈和队列也分别有“顺序栈”和“链栈”以及“顺序队列”和“链式队列”之分。下面分别介绍栈和队列的这四种结构。1 栈原创 2017-04-16 21:09:24 · 674 阅读 · 0 评论