lcof第二章总结

编程语言

  • 概念理解
  • 分析代码运行结果
  • 写代码

数据结构

  • 数组:内存连续(哈希表)、预指定数组大小分配内存(改进为动态数组)、数组指针(数组名也是指针)
  • 字符串:字符数组长度=字符数+1、几个指针赋值给相同的常量字符串时,实际上指向相同的内存地址
  • 链表:动态数组结构,常用操作:定义结点、插入结点、找到第i个结点并删除
  • 树:树的遍历(前中后层序*递归循环)、扩展:二叉搜索树、堆、红黑树
  • 栈和队列:队列用于广度优先遍历、栈用于递归

算法和数据操作

排序

  • 插入
  • 冒泡
  • 归并
  • 快速

查找

  • 顺序
  • 二分
  • 哈希
  • 排序

优劣/复杂度分析

  • 空间
  • 平均时间
  • 最差时间

询问

  • 应用环境
  • 约束条件

明确数字大小、数字范围、辅助空间

递归和循环

递归:优:实现简单;缺:效率低(资源消耗、重复计算性能差)、调用栈溢出

循环:较复杂

相关例题

  1. 赋值运算符函数
  2. 实现Sigleton模式
  3. 二维数组中的查找
  4. 替换空格
  5. 从头到尾打印链表
  6. 重建二叉树
  7. 用两个栈实现队列
  8. 旋转数组的最小数字
  9. 斐波那契数列
  10. 二进制中1的个数

你可能感兴趣的:(Java,java,leetcode)