数据结构
William_Ling
我挥舞着键盘和本子,发誓将这个世界写个明明白白--郭霖大神
展开
-
小白成长日记(2)--选择排序之二元选择排序
#include <iostream>using namespace std;//选择排序--二元选择排序void selectSort(int array[], int len) { int i, j, min, max, temp; for (i = 0; i < len / 2; ++i) { min = i; max = i; for (原创 2017-10-31 22:34:22 · 207 阅读 · 0 评论 -
小白成长日记(14)--(C语言)关于解决头插法单链表中问题二
在小白成长日记(12)里的头插法单链表中,我们提出了一个问题二:在运行代码输入第二个数时程序崩溃问题,当时的代码如下:insert函数代码:void insert(LinkList L) { L = (LinkList)malloc(sizeof(LinkNode)); L->next = 0;}main函数代码如下:void main() { LinkList L;原创 2017-11-19 02:06:21 · 283 阅读 · 0 评论 -
小白成长日记(12)--(C语言)头插法建立单链表(输入输出)
今天和鹏学长研究了很长时间头插法单链表,总的来说思路还是明确的,主要是对代码的编写能力还是有待提高,先贴上第一个问题的起初代码:#include <stdio.h>#include <stdlib.h>typedef int DataType;typedef struct node { DataType data; struct node *next;}LinkNode;typ原创 2017-11-18 00:29:05 · 2579 阅读 · 2 评论 -
小白成长日记(11)--选择排序之堆排序
选择排序之堆排序,时间复杂度都为O(nlog2(n)). 代码如下:#include <iostream> using namespace std;void heapAdjust(int array[], int k, int len) { int temp = array[k]; int child = 2 * k + 1; while (child < len) {原创 2017-11-12 00:44:29 · 175 阅读 · 0 评论 -
小白成长日记(10)--使用快速排序寻找乱序数组中的第k大的值(c++)
不多BB,直接上代码:#include <iostream> using namespace std;int getNthMaxByQuickSort(int array[], int low, int high, int k) { if (low>high) return -1; int left = low; int right = high;翻译 2017-11-11 01:00:27 · 321 阅读 · 0 评论 -
小白成长之路(6)--快速排序
#include <iostream>using namespace std;//快速排序,最差时间复杂度O(n^2),//最好时间复杂度O(nlog2N),平均时间复杂度O(nlog2N)//不稳定,空间复杂度O(nlog2N)void quick_Sort(int a[], int, int);void quick_Sort(int s[], int l, int r) { i原创 2017-10-31 22:52:09 · 227 阅读 · 0 评论 -
小白成长之路(5)--插入排序(直接插入,二分插入,希尔排序)
#include <iostream>using namespace std;//插入排序(1)--直接排序,最差时间复杂度O(n^2)//最好时间复杂度O(n),平均时间复杂度O(n^2),//稳定,空间复杂度O(1)void insertSort(int a[], int len) { int i, j, key; for (i = 1; i < len; ++i) {原创 2017-10-31 22:50:03 · 217 阅读 · 0 评论 -
小白成长之路(4)--冒泡排序
#include <iostream>using namespace std;//冒泡排序,最差时间复杂度O(n^2),//最好时间复杂度O(n),平均时间复杂度O(n^2)//稳定,空间复杂度O(1)void bubbleSort(int* pData, int length) { int temp; for (int i = 0; i != length; ++i) {原创 2017-10-31 22:43:25 · 174 阅读 · 0 评论 -
小白成长日记(3)--简单选择排序
#include <iostream>using namespace std;//选择排序--简单选择排序,最差时间复杂度O(n^2),//最好时间复杂度O(n^2),平均时间复杂度O(n^2)//不稳定,空间复杂度O(1)void selectSort(int array[], int len) { for (int i = 0; i < len - 1; ++i) {原创 2017-10-31 22:41:06 · 196 阅读 · 0 评论 -
小白成长日记(15)--岛屿面积问题(算法设计--dfs深度优先搜索)
讲真,这道题光理解题目就花了15分钟,理解完之后发现自己在刚才的15分钟里像个傻子。不多说了,贴题目。题目描述: 若海域由一个主岛和一些附属岛屿组成,海域可由一个n×n的方阵表示,矩阵中的数字表示相应主岛或岛屿的海拔:数字1~9表示陆地,数字0表示海洋。 现在程序猿儿打算在某个岛屿或主岛上探险,他的飞机将会降落在海域坐标为(x, y)的陆地上,请你计算猿儿降落点所在岛屿或主岛的面积有多大。原创 2017-11-23 01:19:21 · 1914 阅读 · 0 评论