/Code

Code for work with C++

Primary LanguageC++

Code for learning

Notes

  1. 数组中常用的方法

    方法名 要点 备注
    1 二分查找 注意边界 /
    2 双指针法 注意边界 /
    3 滑动窗口法 一个for循环表示数组索引 该索引一定是终止位置
    4 模拟法 主要考察边界处理代码能力 /

    数组总结

  2. 链表

    方法名 要点 备注
    1 虚拟头节点 注意移除头节点非头节点是不一样的,链表的其他节点都是通过前一个节点来移除当前节点,而头结点没有前一个节点 /

    链表总结

  3. 哈希表

    当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。 但是哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。

    方法名 要点 备注
    1 拉链法 发生冲突的元素都被存储在链表中 要选择适当的哈希表的大小,这样既不会因为数组空值而浪费大量内存,也不会因为链表太长而在查找上浪费太多时间
    2 线性探测法 冲突位置向下找一个空位放置新的的信息 要保证tableSize大于dataSize