
数据结构与算法
Sasura_321
这个作者很懒,什么都没留下…
展开
-
二叉树的基本实现和基本操作(常见题型,总结)
二叉树的概念: 一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵分别称为左子树和右子树的二叉树组成。 二叉树的特点: 每个结点最多有两棵子树,即二叉树不存在度大于2的结点 二叉树的子树有左右之分,其子树的次序不能颠倒 二叉树的五种形态: 实现代码如下: #include<stdio.h> #include<stdlib.h>...原创 2018-09-25 16:34:08 · 3447 阅读 · 0 评论 -
C语言实现顺序表(静态实现)
顺序表:用一段地址连续的存储地址单元一次存储数据元素的线性结构。 实现一个具有增、删、查、改、初始化、输入、打印等简单功能的顺序表。 实现代码如下: #include <stdio.h> #include <stdlib.h> #include <assert.h> typedef int DataType; #define MAX_SIZE (...原创 2018-09-22 14:06:46 · 2060 阅读 · 0 评论 -
动态顺序表的实现
顺序表的插入: 静态顺序表:如果满了,不处理 / 报错; 动态顺序表:如果满了,加入扩容机制。 实现代码如下: #include <stdlib.h> #include <assert.h> typedef int DataType; #define INIT_CAPACITY (3) typedef struct SeqListD{ DataType *...原创 2018-09-22 14:40:23 · 1458 阅读 · 0 评论 -
链表的实现(单链表、双链表、循环链表)
链表:一种链式存储的线性表,用一组地址任意的存储单元存放线性表的数据元素,称存储单元为一个字节。 链表分类: 单链表 双链表 双向循环链表 单链表 实现代码如下: #include <stdio.h> #include <stdlib.h> #include <assert.h> typedef int DataType; typede...原创 2018-09-22 16:26:27 · 821 阅读 · 0 评论 -
链表-------常见题型(面试题)
1.从尾头到打印单链表 void PrintReverse(ListNode *first) { ListNode *end = NULL; while (end != first) { ListNode *cur = first; //找到要打印的结点 while (cur->next != end) { cur = cur->next; ...原创 2018-10-02 14:36:29 · 1418 阅读 · 0 评论 -
Java 实现顺序表的基本操作
顺序表 静态顺序表:使用定长数组存储。 动态顺序表:使用动态开辟的数组存储。 接口 package com.github.sqlist; public interface ISequence { // 在 pos 位置插入 val boolean add(int pos, Object data); // 查找关键字 key 找到返回 key 的下表,没有返回 -1 ...原创 2019-06-08 17:12:38 · 7388 阅读 · 3 评论 -
Java 实现单链表的基本操作
顺序表:物理上逻辑上都连续; 链表:物理上不一定连续,逻辑上一定连续的。 链表的概念及结构 概念:连表示一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是用过链表中的引用链接次序实现的。 8种链表结构: 单项、双向 带头、不带头 循环、非循环 主要的三种链表: 无头单项非循环链表、带头循环单链表、不带头双向循环链表 代码实现 1. 接口定义 package com.github.l...原创 2019-06-24 17:02:01 · 8034 阅读 · 3 评论 -
Java 实现无头双向链表的基本操作
无头双向链表的结构: 节点结构 class Node { private int data; private Node next; private Node prev; public Node(int data) { this.data = data; this.prev = null; this.next = n...原创 2019-07-13 14:43:53 · 306 阅读 · 0 评论 -
动态规划总结
动态规划具备了以下三个特点 把原来的问题分解成了几个相似的子问题。 所有的子问题都只需要解决一次。 储存子问题的解。 1. 斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。(n<=39) 加粗样式题目来源:牛客网-斐波那契数列 用递归的方法: // 第 n 项是前两项之和 public class Solution ...原创 2019-07-29 09:29:30 · 254 阅读 · 0 评论