随笔分类 -  数据结构与算法

数据结构与算法
摘要:斐波那契数列: f(n)=f(n-1)+f(n-2)(n>2) f(0)=1;f(1)=1; 1 递归调用 此种方法的缺陷:重复计算的次数太多,效率低 例如:在下图中,F(3)就重复计算了 "3次" 时间复杂度:O(2^N) 空间复杂度:O(N) 2 循环 时间复杂度:O(N)空间复杂度:O(1)( 阅读全文
posted @ 2018-07-25 11:14 wumengchao1234 阅读(317) 评论(0) 推荐(0)
摘要:/** * 循环实现二分查找算法 */public static int binarySearch(int[] arr, int x){ int low = 0; int high = arr.length - 1; while(low <= high){ int middle = (low + h 阅读全文
posted @ 2018-07-25 10:38 wumengchao1234 阅读(225) 评论(0) 推荐(0)
摘要:package com.demo;import sun.reflect.generics.tree.Tree;import java.util.*;class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { v 阅读全文
posted @ 2018-04-22 16:00 wumengchao1234 阅读(332) 评论(0) 推荐(0)
摘要:摘录:堆栈是一块保存数据的连续内存,一个名为堆栈指针(SP)的寄存器指向堆栈的顶部,堆栈的底部在一个固定的地址,堆栈的大小再运行时由内核动态调整,CPU实现指令PUSH和POP,向堆栈中添加元素和移除元素,堆栈由逻辑堆栈帧组成,当调用函数时逻辑堆栈帧被亚茹栈中,当函数返回时堆栈逻辑帧被从堆栈中弹出, 阅读全文
posted @ 2017-03-18 09:39 wumengchao1234 阅读(675) 评论(0) 推荐(0)
摘要:#include #include typedef char ElemType; typedef struct LNode{ //定义单链表结点类型 ElemType data; //数据域 struct LNode *next; //指针域 }LNode,*LinkList; /** * 头插法初始化链表 **/ LinkList CreateListhead(void){ ch... 阅读全文
posted @ 2017-03-17 10:31 wumengchao1234 阅读(193) 评论(0) 推荐(0)