自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学习一点,记录一点

  • 博客(14)
  • 收藏
  • 关注

原创 求两个线性表的并集-用单链表

求一般集合的并集:已知两个集合A和B,A=(7,5,3,11) B=(2,6,3)A U B=(7,5,3,11,2,6)用单链表解决-核心代码://求线性表的并集 不是有序的 void mergeList(LinkList &A,LinkList B){ //将所有在线性表B中而不再A中的数据 插入到A中去 //1 先求出两个表的长度

2021-06-27 18:08:47 1132 1

原创 单链表算法(增删改查、头插法、尾插法、单链表逆置、求倒数第k个节点值、找中间节点、删除单链表中最大值节点、分割单链表)、)

单链表简介:单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。代码:#include <stdio.h>#include "stdlib.h"typedef int ElemType;typedef struct Node{ ElemType data; stru

2021-06-25 00:27:30 862

原创 Java数据结构-归并排序

思想:归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。上代码:package Data.Structure.sort.Merge;import java.util.Arrays;public class MergeSort { publi

2021-02-05 17:56:22 140 1

原创 Java数据结构-堆排序

堆排序步骤:堆排序--升序采用大根堆 -----降序采用小根堆1、将待排序序列构建成大根堆即:先要建立堆->建堆过程需要调整堆2、此时,整个序列的最大值就是堆顶的根节点,将其与末尾的元素进行交换,此时末尾元素就是最大值3、然后将剩余的n-1个元素构成一个堆,这样会得到n个元素的次小值,如此反复执行 便能得到一个有序序列了步骤:其实就是堆的初始化(过程中 调整堆)、交换第一个元素和最后一个元素、继续调整堆(是从最后一个非终端结点(n/2取下界) 开始往上调整)

2021-02-05 17:47:19 219

原创 Java数据结构-简单选择排序

思想: 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。上代码:<font color=#999AAApackage Data.Structure.sort.select_sort;import java.util.Arrays;/** * 将选择排序封装成一个方法 直接调用就ok * 给8000个数排序 3秒 */public class Sel

2021-02-05 17:16:47 101

原创 Java数据结构-快速排序

快排基本思想:初始化标记low为划分第一个元素的位置(下标),high为最后一个元素的位置(下标),然后不断地移动两边的元素进行赋值。(1)high向前移动,找到第一个比pivot小的元素(2)low向后移动找到第一个比pivot大的元素(3)进行赋值操作(4)继续移动标记 执行上面3个步骤 直到low>=high上代码:建议手动敲一下 手动比划一下 理解过程package Data.Structure.sort.exchangeSort;import java.util.Ar

2021-02-05 17:06:23 72

原创 Java数据结构-冒泡排序

冒泡思想: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在 这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。优化冒泡:package Data.Structure.sort.exchangeSort;import java.util.Arrays;public class BubbleSort { pu

2021-02-05 16:46:13 73

原创 C语言-有序表的合并

上代码:#include "stdio.h"#define MAXSIZE 100typedef int ElemType; /*顺序表中存放整型元素*/typedef struct{ ElemType elem[MAXSIZE]; //ElemType目前为整型;其可以为任意类型 int last; //最后一个元素在数组中的下标 }SeqList;/*函数声明*/void initList(SeqList *L);void printList(Se

2021-02-05 16:33:02 1333

原创 C语言-顺序表的基本操作

代码:#define MAXSIZE 20#include <stdio.h>typedef int Elemtype; //顺序表中存放整型元素typedef struct{ Elemtype elem[MAXSIZE];//动态分配空间的首地址 int length;//线性表元素的个数 }SqlList,*PSqlList;//&L 表示L要改变 //初始化线性表 void InitList(SqlList &L){ L.length=0

2021-02-05 16:23:27 219

原创 Java数据结构-希尔排序

基本定义:希尔排序法(缩小增量法) 属于插入类排序,是将整个无序列分割成若干小的子序列分别进行插入排序的方法。代码1:/*** 希尔排序* 对相隔d位置的元素组进行直接插入排序* @param A*/public static void shellSort1(int A[]) {//对照直接插入 对比哈 int i, j, d, temp; d = A.length / 2;//d为增量 while (d > 0) { for (i =

2021-02-04 18:24:43 61

原创 Java数据结构-折半插入排序

基本定义:折半插入排序(binary insertion sort)是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点可以采用折半查找的方法来加快寻找插入点的速度思想:直接插入 链接地址https://editor.csdn.net/md/?articleId=113657011折半插入 链接地址https://editor.csdn.net/md/?articleId=113638

2021-02-04 18:07:04 130

原创 Java数据结构-直接插入排序

插入思想:把n个待排序的元素看成一个有序表和一个无序表开始时有序表中只有一个元素,无序表中有n-1个元素排序过程中每次从无序表中取出第一个元素,依次和有序表中的元素比较,将他插入到合适的位置思路图:代码1-分解步骤:public class InsertSort {public static void main(String[] args) {int[] arr={101,34,119,1};insertSort(arr);}//插入排序public static vo

2021-02-04 17:33:15 146

原创 Java数据结构-折半查找(二分查找)

查找要求:1.必须采用顺序存储结构。2.必须按关键字大小有序排列。查找思想:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。代码1-非递归查找:public static int Search(int arr[], in

2021-02-04 16:43:42 134

原创 Java数据结构-顺序查找

基本思想:对于任意一个序列以及一个给定的元素,将给定元素与序列中元素依次比较,直到找出与给定关键字相同的元素,或者将序列中的元素与其都比较完为止。代码1-查找某个数(有多个相同的数) 保存至List中:public class SeqSearch1 {public static void main(String[] args) {int arr[] = {1, 9, 11, 11, 34, 89};ArrayList arrayList = seqSearch(arr, 11);if (ar

2021-02-04 12:43:15 125

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除