
数据结构
Caleb_Sung
90后辣鸡coder一枚
展开
-
Java数据结构:快速排序/Quick sort(第六周)
题目来源:大工慕课 链接 作者:Caleb Sung快速排序:一种高快省的排序算法 有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。 假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它...原创 2018-08-26 19:44:04 · 435 阅读 · 0 评论 -
C++数据结构:顺序表
代码#include <iostream>using namespace std;int aList[5];template <class T>class OrderList {private: int maxSize; int curLen; int position;public: OrderList() { ...原创 2019-03-14 23:40:37 · 894 阅读 · 0 评论 -
数据结构基础错题本
第一章1、下列说法正确的是:(AB)A、如果函数f(n)是O(g(n)),g(n)是O(h(n)),那么f(n)是O(h(n))B、如果函数f(n)是O(g(n)),g(n)是O(h(n)),那么f(n)+g(n)是O(h(n))C、如果a>b>1,logan是O(logbn),但logbn不一定是O(logan)D、函数f(n)是O(g(n)),当常数a足够大时,一定有函数...原创 2019-03-06 01:48:06 · 1067 阅读 · 1 评论 -
Java数据结构:堆排序/Heap Sort(第四周)
题目来源:大工慕课 链接 作者:Caleb Sung堆与堆排序1. 堆排序堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。2. 堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右...原创 2018-08-25 21:25:23 · 300 阅读 · 0 评论 -
Java数据结构:归并排序/Merge sort(第三周)
题目来源:大工慕课 链接 作者:Caleb Sung基本思想归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案”修补”在一起,即分而治之)。 可以看到这种结构很像一棵完全二叉树,本文的归并排...原创 2018-08-25 11:06:52 · 289 阅读 · 0 评论 -
Java数据结构:利用递归算法在一条语句内实现计算n的阶乘(第三周)
题目来源:大工慕课 链接 作者:Caleb Sung题目要求利用递归算法在一条语句内实现计算n的阶乘。参考代码在涉及Scanner的语句中,若不输入import编译器将会报错。Eclipse中可以点击语句前的灯泡选择相应语句进行自动补全,IDEA则把光标移动到红色波浪线的部分上按Alt+Enter键由编译器自动补全。import java.util.Scanner;...原创 2018-08-24 20:40:07 · 383 阅读 · 0 评论 -
Java数据结构:利用Sentinel实现链接列表/LinkedList,并用搜索、插入与删除来测试它(第九周)
题目来源:大工慕课 链接 作者:Caleb Sung链接列表/链表数据的存储一般分线性存储结构和链式存储结构两种。前者是一种顺序的存储方式,在内存中用一块连续的内存空间存储数据,即逻辑上相连的物理位置相邻,比较常见的就是数组;后者是一种链式存储方式,不保证顺序性,逻辑上相邻的元素之间用指针所指定,它不是用一块连续的内存存储,逻辑上相连的物理位置不一定相邻。 链表是一种递归的数据结构,它...原创 2018-08-31 20:40:46 · 819 阅读 · 0 评论 -
Java数据结构:利用递归算法在一条语句内实现查找数组中的最小元素(第三周)
题目来源:大工慕课 链接 作者:Caleb Sung题目要求利用递归算法来查找数组中的最小元素。参考解答查找函数 MinInArray()利用了两重三目运算,使得查找功能巧妙地被归纳为只有一条语句:int MinInArray (int[] array , int n) { return n == 1 ? array[0] : array[n-1]...原创 2018-08-24 19:59:11 · 485 阅读 · 0 评论 -
Java数据结构:堆栈与队列/Stack & Queue(第八周)
题目来源:大工慕课 链接 作者:Caleb Sung关于Stackstack 是堆栈容器, 是一种“先进后出” 的容器。stack 是简单地装饰 deque 容器而成为另外的一种容器。Stack的Java实现public class Homework_ds7 { public static void main(String[] args) { ...原创 2018-08-31 19:57:28 · 374 阅读 · 0 评论 -
Java数据结构:计数排序/Counting Sort(第七周)
题目来源:大工慕课 链接 作者:Caleb Sung关于计数排序计数排序是一种非常快捷的稳定性强的排序方法,时间复杂度O(n+k),其中n为要排序的数的个数,k为要排序的数的组大值。计数排序对一定量的整数排序时候的速度非常快,一般快于其他排序算法。但计数排序局限性比较大,只限于对整数进行排序。计数排序是消耗空间发杂度来获取快捷的排序方法,其空间发展度为O(K),同理K为要排序的最大值...原创 2018-08-31 19:44:14 · 292 阅读 · 0 评论 -
C++数据结构:单链表、双链表与循环链表
注意:以下所有链表均包含空的头结点。1 单链表(SingleLinkedList)1.1 代码#include "stdafx.h"#include <iostream>using namespace std;//节点类class Node {public: int data; Node * next; //两个参数的构造函数 Node(const int...原创 2019-03-15 14:59:00 · 676 阅读 · 0 评论