数据结构知识点总结
总结了个人在学习数据结构过程中遇到的常见问题
小橙爱编程
努力做programmer里最会dance的dancer,做dancer里最会coding的programmer
展开
-
数据结构与算法(经典排序总结)C++版
一、冒泡排序两重循环,内层循环每次比较相邻两个数的大小关系并做交换处理,每次内循环结束一定可以将每轮最大(小)的元素归位;外层循环控制总共需要归位元素的次数。改良算法,加入flag标志位,如果元素提前排序好即可直接结束排序算法//冒泡排序算法void Bubble_Sort(ElementType A[],int N) { int flag;//用于表示一趟排序是否已经完成 for (int i = 0; i < N-1; i++) { flag = 0; for (int j =原创 2020-08-19 16:27:58 · 239 阅读 · 0 评论 -
堆栈?堆?栈?
学计算机的过程中,我们经常听闻“堆”、“栈”、“堆栈”这样的概念,那么什么是“堆”、什么是“栈”、什么又是“堆栈”呢?其实,堆栈就是栈,他们都是一种先进后出的数据结构,堆栈只是栈的另一种抽象名称而已。所以,从结构上来说,只有栈和堆两种类型。栈所谓栈,是一种先进后出(或者后进先出)的数据结构,它类似一个你刚刚买的一盒好丽友派。假设你只能从一侧打开,然后一个个取,只有当上面的取完了后才能从下面取;然而生产商在包装的时候,肯定是先放的在最下面,后放的在最上面。这样你吃到的第一个派其实是包装员最后一个放进去的原创 2020-06-23 19:42:29 · 1169 阅读 · 0 评论 -
哈希表的思想和构建
在实际的开发过程中,我们总能看见大佬们说用一个哈希表(hash-table)来加快处理,但事实上并不清楚hash表到底做了什么事情。于是我又重温了一下当年的数据结构课程,大致了解了哈希表的思想以及他所做的事情。简单来说,hash表的设计就是为了便于更好、更快的查找的。我们知道一个基本的查找模式采用的是k-v键值法,即一个key对应一个value,我们根据自己的key去找到相应的value值,数组就是最典型的例子。但数组中的key都是从0开始,这样设计的key值是没什么意义的,只是为了单纯提供一个索引的作原创 2020-06-22 18:43:59 · 524 阅读 · 0 评论