1 List Reverse(List L) 2 { 3 Node *new_head, *old_head, temp; 4 new_head = NULL; 5 old_head = L; 6 while(old_head) 7 { 8 temp = old_head->next; 9 old.... ...
分类:
编程语言 时间:
2018-09-29 22:48:40
阅读次数:
218
数据结构——链表 在写数据结构代码是犯了一个非常低级的错误,就是没能在循环中和列表中index 的相对应的关系,区分我们口中的“第几个”。 千万不要尝试去排序链表 链表在寻找其中的元素时要重开始的指针开始进行。linklist new =l next; linklist new= l //相当于新建 ...
分类:
编程语言 时间:
2018-09-29 22:04:24
阅读次数:
174
我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。其实,只要讲到数据结构与算法,就一定离不开时间、空间 ...
分类:
编程语言 时间:
2018-09-29 01:18:20
阅读次数:
191
前言:前面了解了树的概念和基本的存储结构类型及树的分类,而在树中应用最广泛的种类是二叉树 一、简介 在树型结构中,如果每个父节点只有两个子节点,那么这样的树被称为二叉树(Binary tree)。其中,一个父结点的两个字节点分别叫做“左子节点”和“右子节点”。不过也不是所有父节点都有两个子节点,只有 ...
分类:
编程语言 时间:
2018-09-28 12:48:04
阅读次数:
196
学习算法并不是为了记住几个排序、二分查找、二叉树遍历,他还能锻炼你的逻辑思维、性能意识, 而且,如果你写代码能力还有欠缺,你还可以通过把学到的数据结构和算法都实现一遍, 这是一种很好很好的锻炼编程能力的方法。所以不要过度追求一定要在项目里手写快排、手写二叉树才能算是用上。 其实,我觉得,数据结构和算 ...
分类:
编程语言 时间:
2018-09-27 17:00:45
阅读次数:
160
//C++数据结构与算法(第4版) Adam Drozdek 著 徐丹 吴伟敏<<清华大学出版社>> 向量是最简单的STL容器,其数据结构与数组类似,占据着一个连续的内存块。由于内存位置是连续的,所以向量中的元素可以随机访问,访问向量中任何一个元素的时间也是固定的。存储空间的管理是自动的,当要将一个 ...
分类:
其他好文 时间:
2018-09-26 17:18:06
阅读次数:
188
1.描述一个算法优劣用计算次数的数量级。1M/1G/1T。与问题相关的规模用nT(n)=n^2/n^3 2.常见的时间复杂度(用大O表示法表示)常数阶 O(1) 线性阶 O(n)平方阶 O(n^2)对数阶 O(logn)nlogn阶 O(nlogn)立方阶 O(n^3)指数阶 O(2^n ) O(1 ...
分类:
编程语言 时间:
2018-09-25 21:51:54
阅读次数:
143
今天看书时偶然想到的问题,书上是要求将一个数据插入一个有序链接的线性链表中, 所以我想先进行链表内的数据排序在进行插入数据。 在这里我只写了排序的函数。 函数实现: void Sort(LinkList&list, int &n) { for (int i = 0; i < n - 1; i++) ...
分类:
编程语言 时间:
2018-09-25 19:28:33
阅读次数:
111
在编程领域,数据结构与算法向来都是提升编程能力的重点。而一般常见的数据结构是链表,栈,队列,树等。事实上C#也已经封装好了这些数据结构,在头文件 System.Collections.Generic 中,直接创建并调用其成员方法就行。不过我们学习当然要知其然,亦知其所以然。 本文实现的是链表中的单链 ...