- 博客(11)
- 收藏
- 关注
原创 删除链表的倒数第N个节点
写在前面的话 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序...
2018-06-24 22:57:12 309
原创 217. 存在重复元素
写在前面的话题目内容1. 解法11.1 解题思路1.2 C实现1.3 时间复杂度分析2. 解法22.1 解题思路2.2 C实现2.3 时间复杂度分析结语写在前面的话 判断是否存在重复值,大致两种思路,一种是加以优化的双重for法,对每一个数进行每一对的比对,超级耗时勉强通过检验; 再就是对元...
2018-06-24 18:24:51 315
原创 104. Maximum Depth of Binary Tree
写在前面的话题目内容1. 解法11.1 解题思路1.2 java实现1.3 时间复杂度分析结语写在前面的话 二叉树遍历最基本的应用,求树的深度。题目内容 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数 返回二叉树深度31. 解法11.1 ...
2018-06-18 15:17:20 128
原创 98.Validate Binary Search Tree
写在前面的话终于下定决心去动Oj的题目了。提醒自己既然咱要写博客记录解题方法,就要写的漂亮,方法一目了然,正好也在复习数据结构。慢慢积累,不比领家小孩,比过自己,从0到1,也欢迎各路大虾指点迷津。以下是题目索引...
2018-06-16 21:28:20 178
原创 一维/二维动态数组分配(C语言)
1.分配内存空间函数malloc#include<stdio.h>#include <malloc.h>int main(){int n;scanf("%d",&n);int *array = 0;array = (int *)malloc(sizeof(int)*n);if (array = = 0) // 内存申请失败,提示退出 {
2016-01-22 21:35:58 336
原创 最大公约数与最小公倍数(c语言)
1.两个数a与b的最大公约数递归方法int GCD(int a,int b){ return a%b?gcd(b,a%b):b;}辗转相除法int gcd(int a,int b){ int temp; if(a<b) { temp=a; a=b; b=temp; } while(b!=0) {
2016-01-22 16:13:24 533
原创 分治法求大数乘法
摘要: 乘法主要有3种方法:1、模拟竖式计算法复杂度O( N 2次方);2、分治法,最优O(N 1.58次方);3、傅里叶变换法FFT。其中竖式计算法占物理空间小,思维简单;分治法复杂度有所降低,旨在以加法代替乘法,减少乘法次数。FFT法效率最高,有待研究。 本文针对分治,给出递归分解为两段的乘法的求解,JAVA语言实现。在实际应用中,数字长度超600时分治法的优越才能够体现,但
2015-08-14 22:10:07 1689
原创 算法:简单选择排序
void swap (int * a ,int * b) /*交换*/{ int temp = *a; *a=*b; *b=temp;}void SelectSort (int num[] ,int length ) /*插入排序*/{ for (int i=0 ; i<length ;i++) {
2015-04-23 16:44:44 234
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人