- 博客(6)
- 资源 (8)
- 收藏
- 关注
原创 数据结构-基本概念和术语
要开始数据结构的学习了,加油!数据(data):是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。并且数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。数据元素(data element):是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。比如:在饮料中,什么是数据元素呢?冰红茶、可乐、脉动等就是饮料的...
2019-06-15 22:13:33 819
原创 完美立方
枚举算法也称做穷举算法,就是按照问题本身的性质,一一列举出该问题所有可能的解,并在列举的过程中,检验每一个可能的解是否满足要求,如果满足要求则为正确解,否则舍弃它。注意:不能遗漏,否则可能导致结果不正确。不要重复,否则可能导致效率比较低。算法步骤:1.确定枚举对象——即问题解的表达形式,一般需要用若干参数来描述2.列举每个可能解——可以构造循环来遍历每一个解3.检验每一个可...
2019-06-07 20:55:52 2831 1
原创 快速排序
快速排序简称快排,时间复杂度并不固定,如果在最坏情况下(元素刚好是反向的)速度比较慢,达到 O(n^2)(和选择排序一个效率),但是如果在比较理想的情况下时间复杂度 O(nlogn)。快排也是一个分治的算法,快排算法每次选择一个元素并且将整个数组以那个元素分为两部分,根据实现算法的不同,元素的选择一般有如下几种:永远选择第一个元素 永远选择最后一个元素 随机选择元素 取中间值整...
2019-06-07 15:16:13 443
原创 插入排序
插入排序下面是插入排序演示过程:算法思路:每次选择一个元素,并且将这个元素和整个数组中的所有元素进行比较,然后插入到合适的位置代码:#include<stdio.h>void insertion_sort(int arr[], int N){ int i, j; for(i=1; i<N; i++) { int temp = arr[...
2019-06-06 00:01:49 268
原创 冒泡排序
冒泡排序下面是冒泡排序过程演示:算法思路:每次选择两个元素,按照需求进行交换(比如需要升序排列的话,把较大的元素放在靠后一些的位置),循环 n 次(n 为总元素个数),这样小的元素会不断 “冒泡” 到前面来,时间复杂度O(n^2)。代码:#include<stdio.h>void Swap(int arr[], int i, int j) //交换函数 ...
2019-06-05 23:37:12 1034
原创 归并排序
归并排序下面是归并排序演示过程:算法思路:1.如果给的数组只有一个元素的话,直接返回(也就是递归到最底层的一个情况)2.把整个数组分为尽可能相等的两个部分(分)3.对于两个被分开的两个部分进行整个归并排序(治)4.把两个被分开且排好序的数组拼接在一起代码:/* L = 数组起始位置, M = 数组中间的位置, R = 数组终点位置*/#include...
2019-06-05 22:58:44 204
图像显著性检测Itti算法
2022-09-24
Chan-Vese算法是一种图像分割算法,Python实现代码,有注释,方便理解和修改。
2022-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人