
数据结构
大部分使用c语言实现
127.0.0.1/24
本人承诺所有原创文章均为本人整理编写,绝非直接复制粘贴而来。写在这里一是为了防止以后自己将知识点遗忘,二是为了和大家分享我自己对这个知识点的理解和认识。如果我的文章中有错误希望看到后可以指正,感激不尽!
展开
-
在一重循环中时间复杂度不一定是O(n)
下面的代码列举了一个一重循环中时间复杂度为O(√n)的例子 void fun(int n) { int i=0, s=0; while(s<n) { i++; s=s+i;; } }链接自中国大学MOOC原创 2022-03-17 12:01:58 · 504 阅读 · 0 评论 -
C语言简单选择排序
#include <stdio.h>int a[100], len;//简单选择排序算法实现函数int SelectSort(int initiate, int length) { int flag = a[initiate]; if(initiate >= length) return 0; for (int i = initiate + 1; i < length - 1; i++){ if(a[i] < a[i + 1]) { int temp原创 2021-12-12 22:12:10 · 389 阅读 · 1 评论 -
【C语言排序算法】快速排序
快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。原创 2020-10-29 20:08:25 · 719 阅读 · 0 评论 -
C语言希尔排序(分块排序)
C语言希尔排序(分块排序)法原创 2021-12-09 16:29:50 · 786 阅读 · 0 评论 -
数据结构与算法之二分查找(折半查找)
二分查找是顺序查找中的一种,二分查找的前提是查找表中的数据必须是有序的。原创 2021-12-09 16:31:15 · 718 阅读 · 0 评论 -
C语言折半插入排序
#include <stdio.h>int sort(int a[]){ int i, j, temp, mid = 0,low = 0, high = 0; for(i = 1; i < 8; i++){ low = 0; high = i - 1; temp = a[i]; while(low <= high){ mid = (high + low)/2; if(a[mid] > temp) high = mid - 1; else原创 2021-11-15 11:22:56 · 784 阅读 · 0 评论 -
数据结构与算法之直接插入排序
学习直接插入排序前建议了解冒泡排序法。在直接插入排序算法中,将需要排序的数据分为了有序区与无序区两部分。再定义一个变量用于存放无序区的第一个元素,使用此元素与有序区的每一个元素进行比较。原创 2021-11-15 11:23:47 · 917 阅读 · 0 评论 -
C语言线性表
线性表#include <stdio.h>#include <stdlib.h>#define LIST_INIT_SIZE 100 //线性表存储空间的初始分量 #define LISTINCREMENT 10 //线性表存储空间增量(当存储空间不够时使用) typedef int ElemType;//元素类型//声明线性表结构 typedef struct sqlists{ ElemType *elem; //其实内存地址 int length;原创 2021-11-11 11:16:00 · 1096 阅读 · 0 评论 -
【C语言排序算法】冒泡排序
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。原创 2020-03-16 08:28:40 · 342 阅读 · 0 评论 -
C语言动态链表
坊间存在着这样的一个说法就是你可以通过身边的五个人认识全世界的人,对此还产生了六度分隔理论。链表可单纯简单多了,无需认识五个,你只需要知道一个元素的地址就可以遍历完整个链表。原创 2021-11-15 11:23:59 · 1551 阅读 · 0 评论 -
【C语言排序算法】mini桶排序
因为是mini版的用于理解的桶排序算法所以这个程序只能排序0-10以内大小的数。而且比较的个数也有所限制,如果你是需要学习完整的桶排序建议您访问别的文章。原创 2020-06-22 16:55:00 · 195 阅读 · 0 评论 -
白话数据、数据项、数据元素和数据对象的概念和联系。
数据、数据项、数据元素数据对象是学习数据机构中需要了解的第一个基本概念。特以此文记录我对数据、数据项、数据元素数据对象的白话描述和理解。原创 2020-05-11 15:37:33 · 1427 阅读 · 0 评论 -
数据结构家族族谱
数据结构除了算法外剩下的主要就是对数据的增删查改了,不同的结构占用的存储空间和相应效率都各自不同,因此了解各个类型之间的关系和异同之处就显的尤为重要。也只有掌握了这些才能说入了数据结构的门。 数据结构就是一个大家族,这个家族里面有着许许多多的子子孙孙。只有你把每一个子孙都搞明白了才有可能获得这个大家族的认可。这里主要是想通过这个图讲解一下他、她、它、ta们之间的关系,详细的内容会分为...原创 2020-04-20 23:20:17 · 3045 阅读 · 0 评论 -
数据结构的线性表
通过举例讲解了数据结构中的线性表,以及前驱和后继的知识点。原创 2020-04-19 21:05:09 · 208 阅读 · 0 评论